1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/test/MC/Disassembler/SystemZ/insns.txt
Ulrich Weigand 2031d6050e [SystemZ] Support transactional execution on zEC12
The zEC12 provides the transactional-execution facility.  This is exposed
to users via a set of builtin routines on other compilers.  This patch
adds LLVM support to enable those builtins.  In partciular, the patch:

- adds the transactional-execution and processor-assist facilities
- adds MC support for all instructions provided by those facilities
- adds LLVM intrinsics for those instructions and hooks them up for CodeGen
- adds CodeGen support to optimize CC return value checking

Since this is first use of target-specific intrinsics on the platform,
the patch creates the include/llvm/IR/IntrinsicsSystemZ.td file and
hooks it up in Intrinsics.td.  I've also changed Triple::getArchTypePrefix
to return "s390" instead of "systemz", since the naming convention for
GCC intrinsics uses "s390" on the platform, and it neemed more straight-
forward to use the same convention for LLVM IR intrinsics.

An associated clang patch makes the intrinsics (and command line switches)
available at the source-language level.

For reference, the transactional-execution instructions are documented
in the z/Architecture Principles of Operation for the zEC12:
http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/download/DZ9ZR009.pdf
The associated builtins are documented in the GCC manual:
http://gcc.gnu.org/onlinedocs/gcc/S_002f390-System-z-Built-in-Functions.html


Index: llvm-head/lib/Target/SystemZ/SystemZOperators.td
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZOperators.td
+++ llvm-head/lib/Target/SystemZ/SystemZOperators.td
@@ -79,6 +79,9 @@ def SDT_ZI32Intrinsic       : SDTypeProf
 def SDT_ZPrefetch           : SDTypeProfile<0, 2,
                                             [SDTCisVT<0, i32>,
                                              SDTCisPtrTy<1>]>;
+def SDT_ZTBegin             : SDTypeProfile<0, 2,
+                                            [SDTCisPtrTy<0>,
+                                             SDTCisVT<1, i32>]>;
 
 //===----------------------------------------------------------------------===//
 // Node definitions
@@ -180,6 +183,15 @@ def z_prefetch          : SDNode<"System
                                  [SDNPHasChain, SDNPMayLoad, SDNPMayStore,
                                   SDNPMemOperand]>;
 
+def z_tbegin            : SDNode<"SystemZISD::TBEGIN", SDT_ZTBegin,
+                                 [SDNPHasChain, SDNPOutGlue, SDNPMayStore,
+                                  SDNPSideEffect]>;
+def z_tbegin_nofloat    : SDNode<"SystemZISD::TBEGIN_NOFLOAT", SDT_ZTBegin,
+                                 [SDNPHasChain, SDNPOutGlue, SDNPMayStore,
+                                  SDNPSideEffect]>;
+def z_tend              : SDNode<"SystemZISD::TEND", SDTNone,
+                                 [SDNPHasChain, SDNPOutGlue, SDNPSideEffect]>;
+
 //===----------------------------------------------------------------------===//
 // Pattern fragments
 //===----------------------------------------------------------------------===//
Index: llvm-head/lib/Target/SystemZ/SystemZInstrFormats.td
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZInstrFormats.td
+++ llvm-head/lib/Target/SystemZ/SystemZInstrFormats.td
@@ -473,6 +473,17 @@ class InstSS<bits<8> op, dag outs, dag i
   let Inst{15-0}  = BD2;
 }
 
+class InstS<bits<16> op, dag outs, dag ins, string asmstr, list<dag> pattern>
+  : InstSystemZ<4, outs, ins, asmstr, pattern> {
+  field bits<32> Inst;
+  field bits<32> SoftFail = 0;
+
+  bits<16> BD2;
+
+  let Inst{31-16} = op;
+  let Inst{15-0}  = BD2;
+}
+
 //===----------------------------------------------------------------------===//
 // Instruction definitions with semantics
 //===----------------------------------------------------------------------===//
Index: llvm-head/lib/Target/SystemZ/SystemZInstrInfo.td
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZInstrInfo.td
+++ llvm-head/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -1362,6 +1362,60 @@ let Defs = [CC] in {
 }
 
 //===----------------------------------------------------------------------===//
+// Transactional execution
+//===----------------------------------------------------------------------===//
+
+let Predicates = [FeatureTransactionalExecution] in {
+  // Transaction Begin
+  let hasSideEffects = 1, mayStore = 1,
+      usesCustomInserter = 1, Defs = [CC] in {
+    def TBEGIN : InstSIL<0xE560,
+                         (outs), (ins bdaddr12only:$BD1, imm32zx16:$I2),
+                         "tbegin\t$BD1, $I2",
+                         [(z_tbegin bdaddr12only:$BD1, imm32zx16:$I2)]>;
+    def TBEGIN_nofloat : Pseudo<(outs), (ins bdaddr12only:$BD1, imm32zx16:$I2),
+                                [(z_tbegin_nofloat bdaddr12only:$BD1,
+                                                   imm32zx16:$I2)]>;
+    def TBEGINC : InstSIL<0xE561,
+                          (outs), (ins bdaddr12only:$BD1, imm32zx16:$I2),
+                          "tbeginc\t$BD1, $I2",
+                          [(int_s390_tbeginc bdaddr12only:$BD1,
+                                             imm32zx16:$I2)]>;
+  }
+
+  // Transaction End
+  let hasSideEffects = 1, Defs = [CC], BD2 = 0 in
+    def TEND : InstS<0xB2F8, (outs), (ins), "tend", [(z_tend)]>;
+
+  // Transaction Abort
+  let hasSideEffects = 1, isTerminator = 1, isBarrier = 1 in
+    def TABORT : InstS<0xB2FC, (outs), (ins bdaddr12only:$BD2),
+                       "tabort\t$BD2",
+                       [(int_s390_tabort bdaddr12only:$BD2)]>;
+
+  // Nontransactional Store
+  let hasSideEffects = 1 in
+    def NTSTG : StoreRXY<"ntstg", 0xE325, int_s390_ntstg, GR64, 8>;
+
+  // Extract Transaction Nesting Depth
+  let hasSideEffects = 1 in
+    def ETND : InherentRRE<"etnd", 0xB2EC, GR32, (int_s390_etnd)>;
+}
+
+//===----------------------------------------------------------------------===//
+// Processor assist
+//===----------------------------------------------------------------------===//
+
+let Predicates = [FeatureProcessorAssist] in {
+  let hasSideEffects = 1, R4 = 0 in
+    def PPA : InstRRF<0xB2E8, (outs), (ins GR64:$R1, GR64:$R2, imm32zx4:$R3),
+                      "ppa\t$R1, $R2, $R3", []>;
+  def : Pat<(int_s390_ppa_txassist GR32:$src),
+            (PPA (INSERT_SUBREG (i64 (IMPLICIT_DEF)), GR32:$src, subreg_l32),
+                 0, 1)>;
+}
+
+//===----------------------------------------------------------------------===//
 // Miscellaneous Instructions.
 //===----------------------------------------------------------------------===//
 
Index: llvm-head/lib/Target/SystemZ/SystemZProcessors.td
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZProcessors.td
+++ llvm-head/lib/Target/SystemZ/SystemZProcessors.td
@@ -60,6 +60,16 @@ def FeatureMiscellaneousExtensions : Sys
   "Assume that the miscellaneous-extensions facility is installed"
 >;
 
+def FeatureTransactionalExecution : SystemZFeature<
+  "transactional-execution", "TransactionalExecution",
+  "Assume that the transactional-execution facility is installed"
+>;
+
+def FeatureProcessorAssist : SystemZFeature<
+  "processor-assist", "ProcessorAssist",
+  "Assume that the processor-assist facility is installed"
+>;
+
 def : Processor<"generic", NoItineraries, []>;
 def : Processor<"z10", NoItineraries, []>;
 def : Processor<"z196", NoItineraries,
@@ -70,4 +80,5 @@ def : Processor<"zEC12", NoItineraries,
                 [FeatureDistinctOps, FeatureLoadStoreOnCond, FeatureHighWord,
                  FeatureFPExtension, FeaturePopulationCount,
                  FeatureFastSerialization, FeatureInterlockedAccess1,
-                 FeatureMiscellaneousExtensions]>;
+                 FeatureMiscellaneousExtensions,
+                 FeatureTransactionalExecution, FeatureProcessorAssist]>;
Index: llvm-head/lib/Target/SystemZ/SystemZSubtarget.cpp
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZSubtarget.cpp
+++ llvm-head/lib/Target/SystemZ/SystemZSubtarget.cpp
@@ -40,6 +40,7 @@ SystemZSubtarget::SystemZSubtarget(const
       HasLoadStoreOnCond(false), HasHighWord(false), HasFPExtension(false),
       HasPopulationCount(false), HasFastSerialization(false),
       HasInterlockedAccess1(false), HasMiscellaneousExtensions(false),
+      HasTransactionalExecution(false), HasProcessorAssist(false),
       TargetTriple(TT), InstrInfo(initializeSubtargetDependencies(CPU, FS)),
       TLInfo(TM, *this), TSInfo(*TM.getDataLayout()), FrameLowering() {}
 
Index: llvm-head/lib/Target/SystemZ/SystemZSubtarget.h
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZSubtarget.h
+++ llvm-head/lib/Target/SystemZ/SystemZSubtarget.h
@@ -42,6 +42,8 @@ protected:
   bool HasFastSerialization;
   bool HasInterlockedAccess1;
   bool HasMiscellaneousExtensions;
+  bool HasTransactionalExecution;
+  bool HasProcessorAssist;
 
 private:
   Triple TargetTriple;
@@ -102,6 +104,12 @@ public:
     return HasMiscellaneousExtensions;
   }
 
+  // Return true if the target has the transactional-execution facility.
+  bool hasTransactionalExecution() const { return HasTransactionalExecution; }
+
+  // Return true if the target has the processor-assist facility.
+  bool hasProcessorAssist() const { return HasProcessorAssist; }
+
   // Return true if GV can be accessed using LARL for reloc model RM
   // and code model CM.
   bool isPC32DBLSymbol(const GlobalValue *GV, Reloc::Model RM,
Index: llvm-head/lib/Support/Triple.cpp
===================================================================
--- llvm-head.orig/lib/Support/Triple.cpp
+++ llvm-head/lib/Support/Triple.cpp
@@ -92,7 +92,7 @@ const char *Triple::getArchTypePrefix(Ar
   case sparcv9:
   case sparc:       return "sparc";
 
-  case systemz:     return "systemz";
+  case systemz:     return "s390";
 
   case x86:
   case x86_64:      return "x86";
Index: llvm-head/include/llvm/IR/Intrinsics.td
===================================================================
--- llvm-head.orig/include/llvm/IR/Intrinsics.td
+++ llvm-head/include/llvm/IR/Intrinsics.td
@@ -634,3 +634,4 @@ include "llvm/IR/IntrinsicsNVVM.td"
 include "llvm/IR/IntrinsicsMips.td"
 include "llvm/IR/IntrinsicsR600.td"
 include "llvm/IR/IntrinsicsBPF.td"
+include "llvm/IR/IntrinsicsSystemZ.td"
Index: llvm-head/include/llvm/IR/IntrinsicsSystemZ.td
===================================================================
--- /dev/null
+++ llvm-head/include/llvm/IR/IntrinsicsSystemZ.td
@@ -0,0 +1,46 @@
+//===- IntrinsicsSystemZ.td - Defines SystemZ intrinsics ---*- tablegen -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines all of the SystemZ-specific intrinsics.
+//
+//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+//
+// Transactional-execution intrinsics
+//
+//===----------------------------------------------------------------------===//
+
+let TargetPrefix = "s390" in {
+  def int_s390_tbegin : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty],
+                                  [IntrNoDuplicate]>;
+
+  def int_s390_tbegin_nofloat : Intrinsic<[llvm_i32_ty],
+                                          [llvm_ptr_ty, llvm_i32_ty],
+                                          [IntrNoDuplicate]>;
+
+  def int_s390_tbeginc : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty],
+                                   [IntrNoDuplicate]>;
+
+  def int_s390_tabort : Intrinsic<[], [llvm_i64_ty],
+                                  [IntrNoReturn, Throws]>;
+
+  def int_s390_tend : GCCBuiltin<"__builtin_tend">,
+                      Intrinsic<[llvm_i32_ty], []>;
+
+  def int_s390_etnd : GCCBuiltin<"__builtin_tx_nesting_depth">,
+                      Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>;
+
+  def int_s390_ntstg : Intrinsic<[], [llvm_i64_ty, llvm_ptr64_ty],
+                                 [IntrReadWriteArgMem]>;
+
+  def int_s390_ppa_txassist : GCCBuiltin<"__builtin_tx_assist">,
+                              Intrinsic<[], [llvm_i32_ty]>;
+}
+
Index: llvm-head/lib/Target/SystemZ/SystemZ.h
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZ.h
+++ llvm-head/lib/Target/SystemZ/SystemZ.h
@@ -68,6 +68,18 @@ const unsigned CCMASK_TM_MSB_0       = C
 const unsigned CCMASK_TM_MSB_1       = CCMASK_2 | CCMASK_3;
 const unsigned CCMASK_TM             = CCMASK_ANY;
 
+// Condition-code mask assignments for TRANSACTION_BEGIN.
+const unsigned CCMASK_TBEGIN_STARTED       = CCMASK_0;
+const unsigned CCMASK_TBEGIN_INDETERMINATE = CCMASK_1;
+const unsigned CCMASK_TBEGIN_TRANSIENT     = CCMASK_2;
+const unsigned CCMASK_TBEGIN_PERSISTENT    = CCMASK_3;
+const unsigned CCMASK_TBEGIN               = CCMASK_ANY;
+
+// Condition-code mask assignments for TRANSACTION_END.
+const unsigned CCMASK_TEND_TX   = CCMASK_0;
+const unsigned CCMASK_TEND_NOTX = CCMASK_2;
+const unsigned CCMASK_TEND      = CCMASK_TEND_TX | CCMASK_TEND_NOTX;
+
 // The position of the low CC bit in an IPM result.
 const unsigned IPM_CC = 28;
 
Index: llvm-head/lib/Target/SystemZ/SystemZISelLowering.h
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZISelLowering.h
+++ llvm-head/lib/Target/SystemZ/SystemZISelLowering.h
@@ -146,6 +146,15 @@ enum {
   // Perform a serialization operation.  (BCR 15,0 or BCR 14,0.)
   SERIALIZE,
 
+  // Transaction begin.  The first operand is the chain, the second
+  // the TDB pointer, and the third the immediate control field.
+  // Returns chain and glue.
+  TBEGIN,
+  TBEGIN_NOFLOAT,
+
+  // Transaction end.  Just the chain operand.  Returns chain and glue.
+  TEND,
+
   // Wrappers around the inner loop of an 8- or 16-bit ATOMIC_SWAP or
   // ATOMIC_LOAD_<op>.
   //
@@ -318,6 +327,7 @@ private:
   SDValue lowerSTACKSAVE(SDValue Op, SelectionDAG &DAG) const;
   SDValue lowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG) const;
   SDValue lowerPREFETCH(SDValue Op, SelectionDAG &DAG) const;
+  SDValue lowerINTRINSIC_W_CHAIN(SDValue Op, SelectionDAG &DAG) const;
 
   // If the last instruction before MBBI in MBB was some form of COMPARE,
   // try to replace it with a COMPARE AND BRANCH just before MBBI.
@@ -355,6 +365,10 @@ private:
   MachineBasicBlock *emitStringWrapper(MachineInstr *MI,
                                        MachineBasicBlock *BB,
                                        unsigned Opcode) const;
+  MachineBasicBlock *emitTransactionBegin(MachineInstr *MI,
+                                          MachineBasicBlock *MBB,
+                                          unsigned Opcode,
+                                          bool NoFloat) const;
 };
 } // end namespace llvm
 
Index: llvm-head/lib/Target/SystemZ/SystemZISelLowering.cpp
===================================================================
--- llvm-head.orig/lib/Target/SystemZ/SystemZISelLowering.cpp
+++ llvm-head/lib/Target/SystemZ/SystemZISelLowering.cpp
@@ -20,6 +20,7 @@
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
+#include "llvm/IR/Intrinsics.h"
 #include <cctype>
 
 using namespace llvm;
@@ -304,6 +305,9 @@ SystemZTargetLowering::SystemZTargetLowe
   // Codes for which we want to perform some z-specific combinations.
   setTargetDAGCombine(ISD::SIGN_EXTEND);
 
+  // Handle intrinsics.
+  setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
+
   // We want to use MVC in preference to even a single load/store pair.
   MaxStoresPerMemcpy = 0;
   MaxStoresPerMemcpyOptSize = 0;
@@ -1031,6 +1035,53 @@ prepareVolatileOrAtomicLoad(SDValue Chai
   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.
+static bool isIntrinsicWithCCAndChain(SDValue Op, unsigned &Opcode,
+                                      unsigned &CCValid) {
+  unsigned Id = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
+  switch (Id) {
+  case Intrinsic::s390_tbegin:
+    Opcode = SystemZISD::TBEGIN;
+    CCValid = SystemZ::CCMASK_TBEGIN;
+    return true;
+
+  case Intrinsic::s390_tbegin_nofloat:
+    Opcode = SystemZISD::TBEGIN_NOFLOAT;
+    CCValid = SystemZ::CCMASK_TBEGIN;
+    return true;
+
+  case Intrinsic::s390_tend:
+    Opcode = SystemZISD::TEND;
+    CCValid = SystemZ::CCMASK_TEND;
+    return true;
+
+  default:
+    return false;
+  }
+}
+
+// Emit an intrinsic with chain with a glued value instead of its CC result.
+static SDValue emitIntrinsicWithChainAndGlue(SelectionDAG &DAG, SDValue Op,
+                                             unsigned Opcode) {
+  // Copy all operands except the intrinsic ID.
+  unsigned NumOps = Op.getNumOperands();
+  SmallVector<SDValue, 6> Ops;
+  Ops.reserve(NumOps - 1);
+  Ops.push_back(Op.getOperand(0));
+  for (unsigned I = 2; I < NumOps; ++I)
+    Ops.push_back(Op.getOperand(I));
+
+  assert(Op->getNumValues() == 2 && "Expected only CC result and chain");
+  SDVTList RawVTs = DAG.getVTList(MVT::Other, MVT::Glue);
+  SDValue Intr = DAG.getNode(Opcode, SDLoc(Op), RawVTs, Ops);
+  SDValue OldChain = SDValue(Op.getNode(), 1);
+  SDValue NewChain = SDValue(Intr.getNode(), 0);
+  DAG.ReplaceAllUsesOfValueWith(OldChain, NewChain);
+  return Intr;
+}
+
 // CC is a comparison that will be implemented using an integer or
 // floating-point comparison.  Return the condition code mask for
 // a branch on true.  In the integer case, CCMASK_CMP_UO is set for
@@ -1588,9 +1639,53 @@ static void adjustForTestUnderMask(Selec
   C.CCMask = NewCCMask;
 }
 
+// Return a Comparison that tests the condition-code result of intrinsic
+// node Call against constant integer CC using comparison code Cond.
+// Opcode is the opcode of the SystemZISD operation for the intrinsic
+// and CCValid is the set of possible condition-code results.
+static Comparison getIntrinsicCmp(SelectionDAG &DAG, unsigned Opcode,
+                                  SDValue Call, unsigned CCValid, uint64_t CC,
+                                  ISD::CondCode Cond) {
+  Comparison C(Call, SDValue());
+  C.Opcode = Opcode;
+  C.CCValid = CCValid;
+  if (Cond == ISD::SETEQ)
+    // bit 3 for CC==0, bit 0 for CC==3, always false for CC>3.
+    C.CCMask = CC < 4 ? 1 << (3 - CC) : 0;
+  else if (Cond == ISD::SETNE)
+    // ...and the inverse of that.
+    C.CCMask = CC < 4 ? ~(1 << (3 - CC)) : -1;
+  else if (Cond == ISD::SETLT || Cond == ISD::SETULT)
+    // bits above bit 3 for CC==0 (always false), bits above bit 0 for CC==3,
+    // always true for CC>3.
+    C.CCMask = CC < 4 ? -1 << (4 - CC) : -1;
+  else if (Cond == ISD::SETGE || Cond == ISD::SETUGE)
+    // ...and the inverse of that.
+    C.CCMask = CC < 4 ? ~(-1 << (4 - CC)) : 0;
+  else if (Cond == ISD::SETLE || Cond == ISD::SETULE)
+    // bit 3 and above for CC==0, bit 0 and above for CC==3 (always true),
+    // always true for CC>3.
+    C.CCMask = CC < 4 ? -1 << (3 - CC) : -1;
+  else if (Cond == ISD::SETGT || Cond == ISD::SETUGT)
+    // ...and the inverse of that.
+    C.CCMask = CC < 4 ? ~(-1 << (3 - CC)) : 0;
+  else
+    llvm_unreachable("Unexpected integer comparison type");
+  C.CCMask &= CCValid;
+  return C;
+}
+
 // Decide how to implement a comparison of type Cond between CmpOp0 with CmpOp1.
 static Comparison getCmp(SelectionDAG &DAG, SDValue CmpOp0, SDValue CmpOp1,
                          ISD::CondCode Cond) {
+  if (CmpOp1.getOpcode() == ISD::Constant) {
+    uint64_t Constant = cast<ConstantSDNode>(CmpOp1)->getZExtValue();
+    unsigned Opcode, CCValid;
+    if (CmpOp0.getOpcode() == ISD::INTRINSIC_W_CHAIN &&
+        CmpOp0.getResNo() == 0 && CmpOp0->hasNUsesOfValue(1, 0) &&
+        isIntrinsicWithCCAndChain(CmpOp0, Opcode, CCValid))
+      return getIntrinsicCmp(DAG, Opcode, CmpOp0, CCValid, Constant, Cond);
+  }
   Comparison C(CmpOp0, CmpOp1);
   C.CCMask = CCMaskForCondCode(Cond);
   if (C.Op0.getValueType().isFloatingPoint()) {
@@ -1632,6 +1727,17 @@ static Comparison getCmp(SelectionDAG &D
 
 // Emit the comparison instruction described by C.
 static SDValue emitCmp(SelectionDAG &DAG, SDLoc DL, Comparison &C) {
+  if (!C.Op1.getNode()) {
+    SDValue Op;
+    switch (C.Op0.getOpcode()) {
+    case ISD::INTRINSIC_W_CHAIN:
+      Op = emitIntrinsicWithChainAndGlue(DAG, C.Op0, C.Opcode);
+      break;
+    default:
+      llvm_unreachable("Invalid comparison operands");
+    }
+    return SDValue(Op.getNode(), Op->getNumValues() - 1);
+  }
   if (C.Opcode == SystemZISD::ICMP)
     return DAG.getNode(SystemZISD::ICMP, DL, MVT::Glue, C.Op0, C.Op1,
                        DAG.getConstant(C.ICmpType, MVT::i32));
@@ -1713,7 +1819,6 @@ SDValue SystemZTargetLowering::lowerSETC
 }
 
 SDValue SystemZTargetLowering::lowerBR_CC(SDValue Op, SelectionDAG &DAG) const {
-  SDValue Chain    = Op.getOperand(0);
   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
   SDValue CmpOp0   = Op.getOperand(2);
   SDValue CmpOp1   = Op.getOperand(3);
@@ -1723,7 +1828,7 @@ SDValue SystemZTargetLowering::lowerBR_C
   Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC));
   SDValue Glue = emitCmp(DAG, DL, C);
   return DAG.getNode(SystemZISD::BR_CCMASK, DL, Op.getValueType(),
-                     Chain, DAG.getConstant(C.CCValid, MVT::i32),
+                     Op.getOperand(0), DAG.getConstant(C.CCValid, MVT::i32),
                      DAG.getConstant(C.CCMask, MVT::i32), Dest, Glue);
 }
 
@@ -2561,6 +2666,30 @@ SDValue SystemZTargetLowering::lowerPREF
                                  Node->getMemoryVT(), Node->getMemOperand());
 }
 
+// Return an i32 that contains the value of CC immediately after After,
+// whose final operand must be MVT::Glue.
+static SDValue getCCResult(SelectionDAG &DAG, SDNode *After) {
+  SDValue Glue = SDValue(After, After->getNumValues() - 1);
+  SDValue IPM = DAG.getNode(SystemZISD::IPM, SDLoc(After), MVT::i32, Glue);
+  return DAG.getNode(ISD::SRL, SDLoc(After), MVT::i32, IPM,
+                     DAG.getConstant(SystemZ::IPM_CC, MVT::i32));
+}
+
+SDValue
+SystemZTargetLowering::lowerINTRINSIC_W_CHAIN(SDValue Op,
+                                              SelectionDAG &DAG) const {
+  unsigned Opcode, CCValid;
+  if (isIntrinsicWithCCAndChain(Op, Opcode, CCValid)) {
+    assert(Op->getNumValues() == 2 && "Expected only CC result and chain");
+    SDValue Glued = emitIntrinsicWithChainAndGlue(DAG, Op, Opcode);
+    SDValue CC = getCCResult(DAG, Glued.getNode());
+    DAG.ReplaceAllUsesOfValueWith(SDValue(Op.getNode(), 0), CC);
+    return SDValue();
+  }
+
+  return SDValue();
+}
+
 SDValue SystemZTargetLowering::LowerOperation(SDValue Op,
                                               SelectionDAG &DAG) const {
   switch (Op.getOpcode()) {
@@ -2634,6 +2763,8 @@ SDValue SystemZTargetLowering::LowerOper
     return lowerSTACKRESTORE(Op, DAG);
   case ISD::PREFETCH:
     return lowerPREFETCH(Op, DAG);
+  case ISD::INTRINSIC_W_CHAIN:
+    return lowerINTRINSIC_W_CHAIN(Op, DAG);
   default:
     llvm_unreachable("Unexpected node to lower");
   }
@@ -2674,6 +2805,9 @@ const char *SystemZTargetLowering::getTa
     OPCODE(SEARCH_STRING);
     OPCODE(IPM);
     OPCODE(SERIALIZE);
+    OPCODE(TBEGIN);
+    OPCODE(TBEGIN_NOFLOAT);
+    OPCODE(TEND);
     OPCODE(ATOMIC_SWAPW);
     OPCODE(ATOMIC_LOADW_ADD);
     OPCODE(ATOMIC_LOADW_SUB);
@@ -3501,6 +3635,50 @@ SystemZTargetLowering::emitStringWrapper
   return DoneMBB;
 }
 
+// Update TBEGIN instruction with final opcode and register clobbers.
+MachineBasicBlock *
+SystemZTargetLowering::emitTransactionBegin(MachineInstr *MI,
+                                            MachineBasicBlock *MBB,
+                                            unsigned Opcode,
+                                            bool NoFloat) const {
+  MachineFunction &MF = *MBB->getParent();
+  const TargetFrameLowering *TFI = Subtarget.getFrameLowering();
+  const SystemZInstrInfo *TII = Subtarget.getInstrInfo();
+
+  // Update opcode.
+  MI->setDesc(TII->get(Opcode));
+
+  // We cannot handle a TBEGIN that clobbers the stack or frame pointer.
+  // Make sure to add the corresponding GRSM bits if they are missing.
+  uint64_t Control = MI->getOperand(2).getImm();
+  static const unsigned GPRControlBit[16] = {
+    0x8000, 0x8000, 0x4000, 0x4000, 0x2000, 0x2000, 0x1000, 0x1000,
+    0x0800, 0x0800, 0x0400, 0x0400, 0x0200, 0x0200, 0x0100, 0x0100
+  };
+  Control |= GPRControlBit[15];
+  if (TFI->hasFP(MF))
+    Control |= GPRControlBit[11];
+  MI->getOperand(2).setImm(Control);
+
+  // Add GPR clobbers.
+  for (int I = 0; I < 16; I++) {
+    if ((Control & GPRControlBit[I]) == 0) {
+      unsigned Reg = SystemZMC::GR64Regs[I];
+      MI->addOperand(MachineOperand::CreateReg(Reg, true, true));
+    }
+  }
+
+  // Add FPR clobbers.
+  if (!NoFloat && (Control & 4) != 0) {
+    for (int I = 0; I < 16; I++) {
+      unsigned Reg = SystemZMC::FP64Regs[I];
+      MI->addOperand(MachineOperand::CreateReg(Reg, true, true));
+    }
+  }
+
+  return MBB;
+}
+
 MachineBasicBlock *SystemZTargetLowering::
 EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const {
   switch (MI->getOpcode()) {
@@ -3742,6 +3920,12 @@ EmitInstrWithCustomInserter(MachineInstr
     return emitStringWrapper(MI, MBB, SystemZ::MVST);
   case SystemZ::SRSTLoop:
     return emitStringWrapper(MI, MBB, SystemZ::SRST);
+  case SystemZ::TBEGIN:
+    return emitTransactionBegin(MI, MBB, SystemZ::TBEGIN, false);
+  case SystemZ::TBEGIN_nofloat:
+    return emitTransactionBegin(MI, MBB, SystemZ::TBEGIN, true);
+  case SystemZ::TBEGINC:
+    return emitTransactionBegin(MI, MBB, SystemZ::TBEGINC, true);
   default:
     llvm_unreachable("Unexpected instr type to insert");
   }
Index: llvm-head/test/CodeGen/SystemZ/htm-intrinsics.ll
===================================================================
--- /dev/null
+++ llvm-head/test/CodeGen/SystemZ/htm-intrinsics.ll
@@ -0,0 +1,352 @@
+; Test transactional-execution intrinsics.
+;
+; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=zEC12 | FileCheck %s
+
+declare i32 @llvm.s390.tbegin(i8 *, i32)
+declare i32 @llvm.s390.tbegin.nofloat(i8 *, i32)
+declare void @llvm.s390.tbeginc(i8 *, i32)
+declare i32 @llvm.s390.tend()
+declare void @llvm.s390.tabort(i64)
+declare void @llvm.s390.ntstg(i64, i64 *)
+declare i32 @llvm.s390.etnd()
+declare void @llvm.s390.ppa.txassist(i32)
+
+; TBEGIN.
+define void @test_tbegin() {
+; CHECK-LABEL: test_tbegin:
+; CHECK-NOT: stmg
+; CHECK: std %f8,
+; CHECK: std %f9,
+; CHECK: std %f10,
+; CHECK: std %f11,
+; CHECK: std %f12,
+; CHECK: std %f13,
+; CHECK: std %f14,
+; CHECK: std %f15,
+; CHECK: tbegin 0, 65292
+; CHECK: ld %f8,
+; CHECK: ld %f9,
+; CHECK: ld %f10,
+; CHECK: ld %f11,
+; CHECK: ld %f12,
+; CHECK: ld %f13,
+; CHECK: ld %f14,
+; CHECK: ld %f15,
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin(i8 *null, i32 65292)
+  ret void
+}
+
+; TBEGIN (nofloat).
+define void @test_tbegin_nofloat1() {
+; CHECK-LABEL: test_tbegin_nofloat1:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65292
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 65292)
+  ret void
+}
+
+; TBEGIN (nofloat) with integer CC return value.
+define i32 @test_tbegin_nofloat2() {
+; CHECK-LABEL: test_tbegin_nofloat2:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65292
+; CHECK: ipm %r2
+; CHECK: srl %r2, 28
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 65292)
+  ret i32 %res
+}
+
+; TBEGIN (nofloat) with implicit CC check.
+define void @test_tbegin_nofloat3(i32 *%ptr) {
+; CHECK-LABEL: test_tbegin_nofloat3:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65292
+; CHECK: jnh  {{\.L*}}
+; CHECK: mvhi 0(%r2), 0
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 65292)
+  %cmp = icmp eq i32 %res, 2
+  br i1 %cmp, label %if.then, label %if.end
+
+if.then:                                          ; preds = %entry
+  store i32 0, i32* %ptr, align 4
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %entry
+  ret void
+}
+
+; TBEGIN (nofloat) with dual CC use.
+define i32 @test_tbegin_nofloat4(i32 %pad, i32 *%ptr) {
+; CHECK-LABEL: test_tbegin_nofloat4:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65292
+; CHECK: ipm %r2
+; CHECK: srl %r2, 28
+; CHECK: cijlh %r2, 2,  {{\.L*}}
+; CHECK: mvhi 0(%r3), 0
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 65292)
+  %cmp = icmp eq i32 %res, 2
+  br i1 %cmp, label %if.then, label %if.end
+
+if.then:                                          ; preds = %entry
+  store i32 0, i32* %ptr, align 4
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %entry
+  ret i32 %res
+}
+
+; TBEGIN (nofloat) with register.
+define void @test_tbegin_nofloat5(i8 *%ptr) {
+; CHECK-LABEL: test_tbegin_nofloat5:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0(%r2), 65292
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *%ptr, i32 65292)
+  ret void
+}
+
+; TBEGIN (nofloat) with GRSM 0x0f00.
+define void @test_tbegin_nofloat6() {
+; CHECK-LABEL: test_tbegin_nofloat6:
+; CHECK: stmg %r6, %r15,
+; CHECK-NOT: std
+; CHECK: tbegin 0, 3840
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 3840)
+  ret void
+}
+
+; TBEGIN (nofloat) with GRSM 0xf100.
+define void @test_tbegin_nofloat7() {
+; CHECK-LABEL: test_tbegin_nofloat7:
+; CHECK: stmg %r8, %r15,
+; CHECK-NOT: std
+; CHECK: tbegin 0, 61696
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 61696)
+  ret void
+}
+
+; TBEGIN (nofloat) with GRSM 0xfe00 -- stack pointer added automatically.
+define void @test_tbegin_nofloat8() {
+; CHECK-LABEL: test_tbegin_nofloat8:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65280
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 65024)
+  ret void
+}
+
+; TBEGIN (nofloat) with GRSM 0xfb00 -- no frame pointer needed.
+define void @test_tbegin_nofloat9() {
+; CHECK-LABEL: test_tbegin_nofloat9:
+; CHECK: stmg %r10, %r15,
+; CHECK-NOT: std
+; CHECK: tbegin 0, 64256
+; CHECK: br %r14
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 64256)
+  ret void
+}
+
+; TBEGIN (nofloat) with GRSM 0xfb00 -- frame pointer added automatically.
+define void @test_tbegin_nofloat10(i64 %n) {
+; CHECK-LABEL: test_tbegin_nofloat10:
+; CHECK: stmg %r11, %r15,
+; CHECK-NOT: std
+; CHECK: tbegin 0, 65280
+; CHECK: br %r14
+  %buf = alloca i8, i64 %n
+  call i32 @llvm.s390.tbegin.nofloat(i8 *null, i32 64256)
+  ret void
+}
+
+; TBEGINC.
+define void @test_tbeginc() {
+; CHECK-LABEL: test_tbeginc:
+; CHECK-NOT: stmg
+; CHECK-NOT: std
+; CHECK: tbeginc 0, 65288
+; CHECK: br %r14
+  call void @llvm.s390.tbeginc(i8 *null, i32 65288)
+  ret void
+}
+
+; TEND with integer CC return value.
+define i32 @test_tend1() {
+; CHECK-LABEL: test_tend1:
+; CHECK: tend
+; CHECK: ipm %r2
+; CHECK: srl %r2, 28
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tend()
+  ret i32 %res
+}
+
+; TEND with implicit CC check.
+define void @test_tend3(i32 *%ptr) {
+; CHECK-LABEL: test_tend3:
+; CHECK: tend
+; CHECK: je  {{\.L*}}
+; CHECK: mvhi 0(%r2), 0
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tend()
+  %cmp = icmp eq i32 %res, 2
+  br i1 %cmp, label %if.then, label %if.end
+
+if.then:                                          ; preds = %entry
+  store i32 0, i32* %ptr, align 4
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %entry
+  ret void
+}
+
+; TEND with dual CC use.
+define i32 @test_tend2(i32 %pad, i32 *%ptr) {
+; CHECK-LABEL: test_tend2:
+; CHECK: tend
+; CHECK: ipm %r2
+; CHECK: srl %r2, 28
+; CHECK: cijlh %r2, 2,  {{\.L*}}
+; CHECK: mvhi 0(%r3), 0
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.tend()
+  %cmp = icmp eq i32 %res, 2
+  br i1 %cmp, label %if.then, label %if.end
+
+if.then:                                          ; preds = %entry
+  store i32 0, i32* %ptr, align 4
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %entry
+  ret i32 %res
+}
+
+; TABORT with register only.
+define void @test_tabort1(i64 %val) {
+; CHECK-LABEL: test_tabort1:
+; CHECK: tabort 0(%r2)
+; CHECK: br %r14
+  call void @llvm.s390.tabort(i64 %val)
+  ret void
+}
+
+; TABORT with immediate only.
+define void @test_tabort2(i64 %val) {
+; CHECK-LABEL: test_tabort2:
+; CHECK: tabort 1234
+; CHECK: br %r14
+  call void @llvm.s390.tabort(i64 1234)
+  ret void
+}
+
+; TABORT with register + immediate.
+define void @test_tabort3(i64 %val) {
+; CHECK-LABEL: test_tabort3:
+; CHECK: tabort 1234(%r2)
+; CHECK: br %r14
+  %sum = add i64 %val, 1234
+  call void @llvm.s390.tabort(i64 %sum)
+  ret void
+}
+
+; TABORT with out-of-range immediate.
+define void @test_tabort4(i64 %val) {
+; CHECK-LABEL: test_tabort4:
+; CHECK: tabort 0({{%r[1-5]}})
+; CHECK: br %r14
+  call void @llvm.s390.tabort(i64 4096)
+  ret void
+}
+
+; NTSTG with base pointer only.
+define void @test_ntstg1(i64 *%ptr, i64 %val) {
+; CHECK-LABEL: test_ntstg1:
+; CHECK: ntstg %r3, 0(%r2)
+; CHECK: br %r14
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; NTSTG with base and index.
+; Check that VSTL doesn't allow an index.
+define void @test_ntstg2(i64 *%base, i64 %index, i64 %val) {
+; CHECK-LABEL: test_ntstg2:
+; CHECK: sllg [[REG:%r[1-5]]], %r3, 3
+; CHECK: ntstg %r4, 0([[REG]],%r2)
+; CHECK: br %r14
+  %ptr = getelementptr i64, i64 *%base, i64 %index
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; NTSTG with the highest in-range displacement.
+define void @test_ntstg3(i64 *%base, i64 %val) {
+; CHECK-LABEL: test_ntstg3:
+; CHECK: ntstg %r3, 524280(%r2)
+; CHECK: br %r14
+  %ptr = getelementptr i64, i64 *%base, i64 65535
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; NTSTG with an out-of-range positive displacement.
+define void @test_ntstg4(i64 *%base, i64 %val) {
+; CHECK-LABEL: test_ntstg4:
+; CHECK: ntstg %r3, 0({{%r[1-5]}})
+; CHECK: br %r14
+  %ptr = getelementptr i64, i64 *%base, i64 65536
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; NTSTG with the lowest in-range displacement.
+define void @test_ntstg5(i64 *%base, i64 %val) {
+; CHECK-LABEL: test_ntstg5:
+; CHECK: ntstg %r3, -524288(%r2)
+; CHECK: br %r14
+  %ptr = getelementptr i64, i64 *%base, i64 -65536
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; NTSTG with an out-of-range negative displacement.
+define void @test_ntstg6(i64 *%base, i64 %val) {
+; CHECK-LABEL: test_ntstg6:
+; CHECK: ntstg %r3, 0({{%r[1-5]}})
+; CHECK: br %r14
+  %ptr = getelementptr i64, i64 *%base, i64 -65537
+  call void @llvm.s390.ntstg(i64 %val, i64 *%ptr)
+  ret void
+}
+
+; ETND.
+define i32 @test_etnd() {
+; CHECK-LABEL: test_etnd:
+; CHECK: etnd %r2
+; CHECK: br %r14
+  %res = call i32 @llvm.s390.etnd()
+  ret i32 %res
+}
+
+; PPA (Transaction-Abort Assist)
+define void @test_ppa_txassist(i32 %val) {
+; CHECK-LABEL: test_ppa_txassist:
+; CHECK: ppa %r2, 0, 1
+; CHECK: br %r14
+  call void @llvm.s390.ppa.txassist(i32 %val)
+  ret void
+}
+
Index: llvm-head/test/MC/SystemZ/insn-bad-zEC12.s
===================================================================
--- llvm-head.orig/test/MC/SystemZ/insn-bad-zEC12.s
+++ llvm-head/test/MC/SystemZ/insn-bad-zEC12.s
@@ -3,6 +3,22 @@
 # RUN: FileCheck < %t %s
 
 #CHECK: error: invalid operand
+#CHECK: ntstg	%r0, -524289
+#CHECK: error: invalid operand
+#CHECK: ntstg	%r0, 524288
+
+	ntstg	%r0, -524289
+	ntstg	%r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: ppa	%r0, %r0, -1
+#CHECK: error: invalid operand
+#CHECK: ppa	%r0, %r0, 16
+
+	ppa	%r0, %r0, -1
+	ppa	%r0, %r0, 16
+
+#CHECK: error: invalid operand
 #CHECK: risbgn	%r0,%r0,0,0,-1
 #CHECK: error: invalid operand
 #CHECK: risbgn	%r0,%r0,0,0,64
@@ -22,3 +38,47 @@
 	risbgn	%r0,%r0,-1,0,0
 	risbgn	%r0,%r0,256,0,0
 
+#CHECK: error: invalid operand
+#CHECK: tabort	-1
+#CHECK: error: invalid operand
+#CHECK: tabort	4096
+#CHECK: error: invalid use of indexed addressing
+#CHECK: tabort	0(%r1,%r2)
+
+	tabort	-1
+	tabort	4096
+	tabort	0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: tbegin	-1, 0
+#CHECK: error: invalid operand
+#CHECK: tbegin	4096, 0
+#CHECK: error: invalid use of indexed addressing
+#CHECK: tbegin	0(%r1,%r2), 0
+#CHECK: error: invalid operand
+#CHECK: tbegin	0, -1
+#CHECK: error: invalid operand
+#CHECK: tbegin	0, 65536
+
+	tbegin	-1, 0
+	tbegin	4096, 0
+	tbegin	0(%r1,%r2), 0
+	tbegin	0, -1
+	tbegin	0, 65536
+
+#CHECK: error: invalid operand
+#CHECK: tbeginc	-1, 0
+#CHECK: error: invalid operand
+#CHECK: tbeginc	4096, 0
+#CHECK: error: invalid use of indexed addressing
+#CHECK: tbeginc	0(%r1,%r2), 0
+#CHECK: error: invalid operand
+#CHECK: tbeginc	0, -1
+#CHECK: error: invalid operand
+#CHECK: tbeginc	0, 65536
+
+	tbeginc	-1, 0
+	tbeginc	4096, 0
+	tbeginc	0(%r1,%r2), 0
+	tbeginc	0, -1
+	tbeginc	0, 65536
Index: llvm-head/test/MC/SystemZ/insn-good-zEC12.s
===================================================================
--- llvm-head.orig/test/MC/SystemZ/insn-good-zEC12.s
+++ llvm-head/test/MC/SystemZ/insn-good-zEC12.s
@@ -1,6 +1,48 @@
 # For zEC12 and above.
 # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=zEC12 -show-encoding %s | FileCheck %s
 
+#CHECK: etnd	%r0                     # encoding: [0xb2,0xec,0x00,0x00]
+#CHECK: etnd	%r15                    # encoding: [0xb2,0xec,0x00,0xf0]
+#CHECK: etnd	%r7                     # encoding: [0xb2,0xec,0x00,0x70]
+
+	etnd	%r0
+	etnd	%r15
+	etnd	%r7
+
+#CHECK: ntstg	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x25]
+#CHECK: ntstg	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x25]
+#CHECK: ntstg	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x25]
+#CHECK: ntstg	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x25]
+#CHECK: ntstg	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x25]
+#CHECK: ntstg	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x25]
+#CHECK: ntstg	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x25]
+#CHECK: ntstg	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x25]
+#CHECK: ntstg	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x25]
+#CHECK: ntstg	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x25]
+
+	ntstg	%r0, -524288
+	ntstg	%r0, -1
+	ntstg	%r0, 0
+	ntstg	%r0, 1
+	ntstg	%r0, 524287
+	ntstg	%r0, 0(%r1)
+	ntstg	%r0, 0(%r15)
+	ntstg	%r0, 524287(%r1,%r15)
+	ntstg	%r0, 524287(%r15,%r1)
+	ntstg	%r15, 0
+
+#CHECK: ppa	%r0, %r0, 0             # encoding: [0xb2,0xe8,0x00,0x00]
+#CHECK: ppa	%r0, %r0, 15            # encoding: [0xb2,0xe8,0xf0,0x00]
+#CHECK: ppa	%r0, %r15, 0            # encoding: [0xb2,0xe8,0x00,0x0f]
+#CHECK: ppa	%r4, %r6, 7             # encoding: [0xb2,0xe8,0x70,0x46]
+#CHECK: ppa	%r15, %r0, 0            # encoding: [0xb2,0xe8,0x00,0xf0]
+
+	ppa	%r0, %r0, 0
+	ppa	%r0, %r0, 15
+	ppa	%r0, %r15, 0
+	ppa	%r4, %r6, 7
+	ppa	%r15, %r0, 0
+
 #CHECK: risbgn	%r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x59]
 #CHECK: risbgn	%r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x59]
 #CHECK: risbgn	%r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x59]
@@ -17,3 +59,68 @@
 	risbgn	%r15,%r0,0,0,0
 	risbgn	%r4,%r5,6,7,8
 
+#CHECK: tabort	0                       # encoding: [0xb2,0xfc,0x00,0x00]
+#CHECK: tabort	0(%r1)                  # encoding: [0xb2,0xfc,0x10,0x00]
+#CHECK: tabort	0(%r15)                 # encoding: [0xb2,0xfc,0xf0,0x00]
+#CHECK: tabort	4095                    # encoding: [0xb2,0xfc,0x0f,0xff]
+#CHECK: tabort	4095(%r1)               # encoding: [0xb2,0xfc,0x1f,0xff]
+#CHECK: tabort	4095(%r15)              # encoding: [0xb2,0xfc,0xff,0xff]
+
+	tabort	0
+	tabort	0(%r1)
+	tabort	0(%r15)
+	tabort	4095
+	tabort	4095(%r1)
+	tabort	4095(%r15)
+
+#CHECK: tbegin	0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
+#CHECK: tbegin	4095, 0                 # encoding: [0xe5,0x60,0x0f,0xff,0x00,0x00]
+#CHECK: tbegin	0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
+#CHECK: tbegin	0, 1                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x01]
+#CHECK: tbegin	0, 32767                # encoding: [0xe5,0x60,0x00,0x00,0x7f,0xff]
+#CHECK: tbegin	0, 32768                # encoding: [0xe5,0x60,0x00,0x00,0x80,0x00]
+#CHECK: tbegin	0, 65535                # encoding: [0xe5,0x60,0x00,0x00,0xff,0xff]
+#CHECK: tbegin	0(%r1), 42              # encoding: [0xe5,0x60,0x10,0x00,0x00,0x2a]
+#CHECK: tbegin	0(%r15), 42             # encoding: [0xe5,0x60,0xf0,0x00,0x00,0x2a]
+#CHECK: tbegin	4095(%r1), 42           # encoding: [0xe5,0x60,0x1f,0xff,0x00,0x2a]
+#CHECK: tbegin	4095(%r15), 42          # encoding: [0xe5,0x60,0xff,0xff,0x00,0x2a]
+
+	tbegin	0, 0
+	tbegin	4095, 0
+	tbegin	0, 0
+	tbegin	0, 1
+	tbegin	0, 32767
+	tbegin	0, 32768
+	tbegin	0, 65535
+	tbegin	0(%r1), 42
+	tbegin	0(%r15), 42
+	tbegin	4095(%r1), 42
+	tbegin	4095(%r15), 42
+
+#CHECK: tbeginc	0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
+#CHECK: tbeginc	4095, 0                 # encoding: [0xe5,0x61,0x0f,0xff,0x00,0x00]
+#CHECK: tbeginc	0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
+#CHECK: tbeginc	0, 1                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x01]
+#CHECK: tbeginc	0, 32767                # encoding: [0xe5,0x61,0x00,0x00,0x7f,0xff]
+#CHECK: tbeginc	0, 32768                # encoding: [0xe5,0x61,0x00,0x00,0x80,0x00]
+#CHECK: tbeginc	0, 65535                # encoding: [0xe5,0x61,0x00,0x00,0xff,0xff]
+#CHECK: tbeginc	0(%r1), 42              # encoding: [0xe5,0x61,0x10,0x00,0x00,0x2a]
+#CHECK: tbeginc	0(%r15), 42             # encoding: [0xe5,0x61,0xf0,0x00,0x00,0x2a]
+#CHECK: tbeginc	4095(%r1), 42           # encoding: [0xe5,0x61,0x1f,0xff,0x00,0x2a]
+#CHECK: tbeginc	4095(%r15), 42          # encoding: [0xe5,0x61,0xff,0xff,0x00,0x2a]
+
+	tbeginc	0, 0
+	tbeginc	4095, 0
+	tbeginc	0, 0
+	tbeginc	0, 1
+	tbeginc	0, 32767
+	tbeginc	0, 32768
+	tbeginc	0, 65535
+	tbeginc	0(%r1), 42
+	tbeginc	0(%r15), 42
+	tbeginc	4095(%r1), 42
+	tbeginc	4095(%r15), 42
+
+#CHECK: tend                            # encoding: [0xb2,0xf8,0x00,0x00]
+
+	tend
Index: llvm-head/test/MC/SystemZ/insn-bad-z196.s
===================================================================
--- llvm-head.orig/test/MC/SystemZ/insn-bad-z196.s
+++ llvm-head/test/MC/SystemZ/insn-bad-z196.s
@@ -244,6 +244,11 @@
 	cxlgbr	%f0, 16, %r0, 0
 	cxlgbr	%f2, 0, %r0, 0
 
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: etnd	%r7
+
+	etnd	%r7
+
 #CHECK: error: invalid operand
 #CHECK: fidbra	%f0, 0, %f0, -1
 #CHECK: error: invalid operand
@@ -546,6 +551,16 @@
 	locr	%r0,%r0,-1
 	locr	%r0,%r0,16
 
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: ntstg	%r0, 524287(%r1,%r15)
+
+	ntstg	%r0, 524287(%r1,%r15)
+
+#CHECK: error: {{(instruction requires: processor-assist)?}}
+#CHECK: ppa	%r4, %r6, 7
+
+	ppa	%r4, %r6, 7
+
 #CHECK: error: {{(instruction requires: miscellaneous-extensions)?}}
 #CHECK: risbgn	%r1, %r2, 0, 0, 0
 
@@ -690,3 +705,24 @@
 	stocg	%r0,-524289,1
 	stocg	%r0,524288,1
 	stocg	%r0,0(%r1,%r2),1
+
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: tabort	4095(%r1)
+
+	tabort	4095(%r1)
+
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: tbegin	4095(%r1), 42
+
+	tbegin	4095(%r1), 42
+
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: tbeginc	4095(%r1), 42
+
+	tbeginc	4095(%r1), 42
+
+#CHECK: error: {{(instruction requires: transactional-execution)?}}
+#CHECK: tend
+
+	tend
+
Index: llvm-head/test/MC/Disassembler/SystemZ/insns.txt
===================================================================
--- llvm-head.orig/test/MC/Disassembler/SystemZ/insns.txt
+++ llvm-head/test/MC/Disassembler/SystemZ/insns.txt
@@ -2503,6 +2503,15 @@
 # CHECK: ear %r15, %a15
 0xb2 0x4f 0x00 0xff
 
+# CHECK: etnd %r0
+0xb2 0xec 0x00 0x00
+
+# CHECK: etnd %r15
+0xb2 0xec 0x00 0xf0
+
+# CHECK: etnd %r7
+0xb2 0xec 0x00 0x70
+
 # CHECK: fidbr %f0, 0, %f0
 0xb3 0x5f 0x00 0x00
 
@@ -6034,6 +6043,36 @@
 # CHECK: ny %r15, 0
 0xe3 0xf0 0x00 0x00 0x00 0x54
 
+# CHECK: ntstg %r0, -524288
+0xe3 0x00 0x00 0x00 0x80 0x25
+
+# CHECK: ntstg %r0, -1
+0xe3 0x00 0x0f 0xff 0xff 0x25
+
+# CHECK: ntstg %r0, 0
+0xe3 0x00 0x00 0x00 0x00 0x25
+
+# CHECK: ntstg %r0, 1
+0xe3 0x00 0x00 0x01 0x00 0x25
+
+# CHECK: ntstg %r0, 524287
+0xe3 0x00 0x0f 0xff 0x7f 0x25
+
+# CHECK: ntstg %r0, 0(%r1)
+0xe3 0x00 0x10 0x00 0x00 0x25
+
+# CHECK: ntstg %r0, 0(%r15)
+0xe3 0x00 0xf0 0x00 0x00 0x25
+
+# CHECK: ntstg %r0, 524287(%r1,%r15)
+0xe3 0x01 0xff 0xff 0x7f 0x25
+
+# CHECK: ntstg %r0, 524287(%r15,%r1)
+0xe3 0x0f 0x1f 0xff 0x7f 0x25
+
+# CHECK: ntstg %r15, 0
+0xe3 0xf0 0x00 0x00 0x00 0x25
+
 # CHECK: oc 0(1), 0
 0xd6 0x00 0x00 0x00 0x00 0x00
 
@@ -6346,6 +6385,21 @@
 # CHECK: popcnt %r7, %r8
 0xb9 0xe1 0x00 0x78
 
+# CHECK: ppa %r0, %r0, 0
+0xb2 0xe8 0x00 0x00
+
+# CHECK: ppa %r0, %r0, 15
+0xb2 0xe8 0xf0 0x00
+
+# CHECK: ppa %r0, %r15, 0
+0xb2 0xe8 0x00 0x0f
+
+# CHECK: ppa %r4, %r6, 7
+0xb2 0xe8 0x70 0x46
+
+# CHECK: ppa %r15, %r0, 0
+0xb2 0xe8 0x00 0xf0
+
 # CHECK: risbg %r0, %r0, 0, 0, 0
 0xec 0x00 0x00 0x00 0x00 0x55
 
@@ -8062,6 +8116,93 @@
 # CHECK: sy %r15, 0
 0xe3 0xf0 0x00 0x00 0x00 0x5b
 
+# CHECK: tabort 0
+0xb2 0xfc 0x00 0x00
+
+# CHECK: tabort 0(%r1)
+0xb2 0xfc 0x10 0x00
+
+# CHECK: tabort 0(%r15)
+0xb2 0xfc 0xf0 0x00
+
+# CHECK: tabort 4095
+0xb2 0xfc 0x0f 0xff
+
+# CHECK: tabort 4095(%r1)
+0xb2 0xfc 0x1f 0xff
+
+# CHECK: tabort 4095(%r15)
+0xb2 0xfc 0xff 0xff
+
+# CHECK: tbegin 0, 0
+0xe5 0x60 0x00 0x00 0x00 0x00
+
+# CHECK: tbegin 4095, 0
+0xe5 0x60 0x0f 0xff 0x00 0x00
+
+# CHECK: tbegin 0, 0
+0xe5 0x60 0x00 0x00 0x00 0x00
+
+# CHECK: tbegin 0, 1
+0xe5 0x60 0x00 0x00 0x00 0x01
+
+# CHECK: tbegin 0, 32767
+0xe5 0x60 0x00 0x00 0x7f 0xff
+
+# CHECK: tbegin 0, 32768
+0xe5 0x60 0x00 0x00 0x80 0x00
+
+# CHECK: tbegin 0, 65535
+0xe5 0x60 0x00 0x00 0xff 0xff
+
+# CHECK: tbegin 0(%r1), 42
+0xe5 0x60 0x10 0x00 0x00 0x2a
+
+# CHECK: tbegin 0(%r15), 42
+0xe5 0x60 0xf0 0x00 0x00 0x2a
+
+# CHECK: tbegin 4095(%r1), 42
+0xe5 0x60 0x1f 0xff 0x00 0x2a
+
+# CHECK: tbegin 4095(%r15), 42
+0xe5 0x60 0xff 0xff 0x00 0x2a
+
+# CHECK: tbeginc 0, 0
+0xe5 0x61 0x00 0x00 0x00 0x00
+
+# CHECK: tbeginc 4095, 0
+0xe5 0x61 0x0f 0xff 0x00 0x00
+
+# CHECK: tbeginc 0, 0
+0xe5 0x61 0x00 0x00 0x00 0x00
+
+# CHECK: tbeginc 0, 1
+0xe5 0x61 0x00 0x00 0x00 0x01
+
+# CHECK: tbeginc 0, 32767
+0xe5 0x61 0x00 0x00 0x7f 0xff
+
+# CHECK: tbeginc 0, 32768
+0xe5 0x61 0x00 0x00 0x80 0x00
+
+# CHECK: tbeginc 0, 65535
+0xe5 0x61 0x00 0x00 0xff 0xff
+
+# CHECK: tbeginc 0(%r1), 42
+0xe5 0x61 0x10 0x00 0x00 0x2a
+
+# CHECK: tbeginc 0(%r15), 42
+0xe5 0x61 0xf0 0x00 0x00 0x2a
+
+# CHECK: tbeginc 4095(%r1), 42
+0xe5 0x61 0x1f 0xff 0x00 0x2a
+
+# CHECK: tbeginc 4095(%r15), 42
+0xe5 0x61 0xff 0xff 0x00 0x2a
+
+# CHECK: tend
+0xb2 0xf8 0x00 0x00
+
 # CHECK: tm 0, 0
 0x91 0x00 0x00 0x00
 

llvm-svn: 233803
2015-04-01 12:51:43 +00:00

8526 lines
146 KiB
Plaintext

# Test instructions that don't have PC-relative operands.
# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu -mcpu=zEC12 | FileCheck %s
# CHECK: adbr %f0, %f0
0xb3 0x1a 0x00 0x00
# CHECK: adbr %f0, %f15
0xb3 0x1a 0x00 0x0f
# CHECK: adbr %f7, %f8
0xb3 0x1a 0x00 0x78
# CHECK: adbr %f15, %f0
0xb3 0x1a 0x00 0xf0
# CHECK: adb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1a
# CHECK: adb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1a
# CHECK: adb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1a
# CHECK: adb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1a
# CHECK: adb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1a
# CHECK: adb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1a
# CHECK: adb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1a
# CHECK: aebr %f0, %f0
0xb3 0x0a 0x00 0x00
# CHECK: aebr %f0, %f15
0xb3 0x0a 0x00 0x0f
# CHECK: aebr %f7, %f8
0xb3 0x0a 0x00 0x78
# CHECK: aebr %f15, %f0
0xb3 0x0a 0x00 0xf0
# CHECK: aeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0a
# CHECK: aeb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0a
# CHECK: aeb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0a
# CHECK: aeb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0a
# CHECK: aeb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0a
# CHECK: aeb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0a
# CHECK: aeb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0a
# CHECK: afi %r0, -2147483648
0xc2 0x09 0x80 0x00 0x00 0x00
# CHECK: afi %r0, -1
0xc2 0x09 0xff 0xff 0xff 0xff
# CHECK: afi %r0, 0
0xc2 0x09 0x00 0x00 0x00 0x00
# CHECK: afi %r0, 1
0xc2 0x09 0x00 0x00 0x00 0x01
# CHECK: afi %r0, 2147483647
0xc2 0x09 0x7f 0xff 0xff 0xff
# CHECK: afi %r15, 0
0xc2 0xf9 0x00 0x00 0x00 0x00
# CHECK: agfi %r0, -2147483648
0xc2 0x08 0x80 0x00 0x00 0x00
# CHECK: agfi %r0, -1
0xc2 0x08 0xff 0xff 0xff 0xff
# CHECK: agfi %r0, 0
0xc2 0x08 0x00 0x00 0x00 0x00
# CHECK: agfi %r0, 1
0xc2 0x08 0x00 0x00 0x00 0x01
# CHECK: agfi %r0, 2147483647
0xc2 0x08 0x7f 0xff 0xff 0xff
# CHECK: agfi %r15, 0
0xc2 0xf8 0x00 0x00 0x00 0x00
# CHECK: agfr %r0, %r0
0xb9 0x18 0x00 0x00
# CHECK: agfr %r0, %r15
0xb9 0x18 0x00 0x0f
# CHECK: agfr %r15, %r0
0xb9 0x18 0x00 0xf0
# CHECK: agfr %r7, %r8
0xb9 0x18 0x00 0x78
# CHECK: agf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x18
# CHECK: agf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x18
# CHECK: agf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x18
# CHECK: agf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x18
# CHECK: agf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x18
# CHECK: agf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x18
# CHECK: agf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x18
# CHECK: agf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x18
# CHECK: agf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x18
# CHECK: agf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x18
# CHECK: aghi %r0, -32768
0xa7 0x0b 0x80 0x00
# CHECK: aghi %r0, -1
0xa7 0x0b 0xff 0xff
# CHECK: aghi %r0, 0
0xa7 0x0b 0x00 0x00
# CHECK: aghi %r0, 1
0xa7 0x0b 0x00 0x01
# CHECK: aghi %r0, 32767
0xa7 0x0b 0x7f 0xff
# CHECK: aghi %r15, 0
0xa7 0xfb 0x00 0x00
# CHECK: aghik %r0, %r1, -32768
0xec 0x01 0x80 0x00 0x00 0xd9
# CHECK: aghik %r2, %r3, -1
0xec 0x23 0xff 0xff 0x00 0xd9
# CHECK: aghik %r4, %r5, 0
0xec 0x45 0x00 0x00 0x00 0xd9
# CHECK: aghik %r6, %r7, 1
0xec 0x67 0x00 0x01 0x00 0xd9
# CHECK: aghik %r8, %r15, 32767
0xec 0x8f 0x7f 0xff 0x00 0xd9
# CHECK: agr %r0, %r0
0xb9 0x08 0x00 0x00
# CHECK: agr %r0, %r15
0xb9 0x08 0x00 0x0f
# CHECK: agr %r15, %r0
0xb9 0x08 0x00 0xf0
# CHECK: agr %r7, %r8
0xb9 0x08 0x00 0x78
# CHECK: agrk %r0, %r0, %r0
0xb9 0xe8 0x00 0x00
# CHECK: agrk %r2, %r3, %r4
0xb9 0xe8 0x40 0x23
# CHECK: agsi -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x7a
# CHECK: agsi -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x7a
# CHECK: agsi 0, 0
0xeb 0x00 0x00 0x00 0x00 0x7a
# CHECK: agsi 1, 0
0xeb 0x00 0x00 0x01 0x00 0x7a
# CHECK: agsi 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x7a
# CHECK: agsi 0, -128
0xeb 0x80 0x00 0x00 0x00 0x7a
# CHECK: agsi 0, -1
0xeb 0xff 0x00 0x00 0x00 0x7a
# CHECK: agsi 0, 1
0xeb 0x01 0x00 0x00 0x00 0x7a
# CHECK: agsi 0, 127
0xeb 0x7f 0x00 0x00 0x00 0x7a
# CHECK: agsi 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x7a
# CHECK: agsi 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x7a
# CHECK: agsi 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x7a
# CHECK: agsi 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x7a
# CHECK: ag %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x08
# CHECK: ag %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x08
# CHECK: ag %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x08
# CHECK: ag %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x08
# CHECK: ag %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x08
# CHECK: ag %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x08
# CHECK: ag %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x08
# CHECK: ag %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x08
# CHECK: ag %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x08
# CHECK: ag %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x08
# CHECK: ahi %r0, -32768
0xa7 0x0a 0x80 0x00
# CHECK: ahi %r0, -1
0xa7 0x0a 0xff 0xff
# CHECK: ahi %r0, 0
0xa7 0x0a 0x00 0x00
# CHECK: ahi %r0, 1
0xa7 0x0a 0x00 0x01
# CHECK: ahi %r0, 32767
0xa7 0x0a 0x7f 0xff
# CHECK: ahi %r15, 0
0xa7 0xfa 0x00 0x00
# CHECK: ahik %r0, %r1, -32768
0xec 0x01 0x80 0x00 0x00 0xd8
# CHECK: ahik %r2, %r3, -1
0xec 0x23 0xff 0xff 0x00 0xd8
# CHECK: ahik %r4, %r5, 0
0xec 0x45 0x00 0x00 0x00 0xd8
# CHECK: ahik %r6, %r7, 1
0xec 0x67 0x00 0x01 0x00 0xd8
# CHECK: ahik %r8, %r15, 32767
0xec 0x8f 0x7f 0xff 0x00 0xd8
# CHECK: ah %r0, 0
0x4a 0x00 0x00 0x00
# CHECK: ah %r0, 4095
0x4a 0x00 0x0f 0xff
# CHECK: ah %r0, 0(%r1)
0x4a 0x00 0x10 0x00
# CHECK: ah %r0, 0(%r15)
0x4a 0x00 0xf0 0x00
# CHECK: ah %r0, 4095(%r1,%r15)
0x4a 0x01 0xff 0xff
# CHECK: ah %r0, 4095(%r15,%r1)
0x4a 0x0f 0x1f 0xff
# CHECK: ah %r15, 0
0x4a 0xf0 0x00 0x00
# CHECK: ahy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x7a
# CHECK: ahy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x7a
# CHECK: ahy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x7a
# CHECK: ahy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x7a
# CHECK: ahy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x7a
# CHECK: ahy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x7a
# CHECK: ahy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x7a
# CHECK: ahy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x7a
# CHECK: ahy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x7a
# CHECK: ahy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x7a
# CHECK: aih %r0, -2147483648
0xcc 0x08 0x80 0x00 0x00 0x00
# CHECK: aih %r0, -1
0xcc 0x08 0xff 0xff 0xff 0xff
# CHECK: aih %r0, 0
0xcc 0x08 0x00 0x00 0x00 0x00
# CHECK: aih %r0, 1
0xcc 0x08 0x00 0x00 0x00 0x01
# CHECK: aih %r0, 2147483647
0xcc 0x08 0x7f 0xff 0xff 0xff
# CHECK: aih %r15, 0
0xcc 0xf8 0x00 0x00 0x00 0x00
# CHECK: alcgr %r0, %r0
0xb9 0x88 0x00 0x00
# CHECK: alcgr %r0, %r15
0xb9 0x88 0x00 0x0f
# CHECK: alcgr %r15, %r0
0xb9 0x88 0x00 0xf0
# CHECK: alcgr %r7, %r8
0xb9 0x88 0x00 0x78
# CHECK: alcg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x88
# CHECK: alcg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x88
# CHECK: alcg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x88
# CHECK: alcg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x88
# CHECK: alcg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x88
# CHECK: alcg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x88
# CHECK: alcg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x88
# CHECK: alcg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x88
# CHECK: alcg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x88
# CHECK: alcg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x88
# CHECK: alcr %r0, %r0
0xb9 0x98 0x00 0x00
# CHECK: alcr %r0, %r15
0xb9 0x98 0x00 0x0f
# CHECK: alcr %r15, %r0
0xb9 0x98 0x00 0xf0
# CHECK: alcr %r7, %r8
0xb9 0x98 0x00 0x78
# CHECK: alc %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x98
# CHECK: alc %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x98
# CHECK: alc %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x98
# CHECK: alc %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x98
# CHECK: alc %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x98
# CHECK: alc %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x98
# CHECK: alc %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x98
# CHECK: alc %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x98
# CHECK: alc %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x98
# CHECK: alc %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x98
# CHECK: alfi %r0, 0
0xc2 0x0b 0x00 0x00 0x00 0x00
# CHECK: alfi %r0, 4294967295
0xc2 0x0b 0xff 0xff 0xff 0xff
# CHECK: alfi %r15, 0
0xc2 0xfb 0x00 0x00 0x00 0x00
# CHECK: algfi %r0, 0
0xc2 0x0a 0x00 0x00 0x00 0x00
# CHECK: algfi %r0, 4294967295
0xc2 0x0a 0xff 0xff 0xff 0xff
# CHECK: algfi %r15, 0
0xc2 0xfa 0x00 0x00 0x00 0x00
# CHECK: algfr %r0, %r0
0xb9 0x1a 0x00 0x00
# CHECK: algfr %r0, %r15
0xb9 0x1a 0x00 0x0f
# CHECK: algfr %r15, %r0
0xb9 0x1a 0x00 0xf0
# CHECK: algfr %r7, %r8
0xb9 0x1a 0x00 0x78
# CHECK: algf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x1a
# CHECK: algf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x1a
# CHECK: algf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x1a
# CHECK: algf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x1a
# CHECK: algf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x1a
# CHECK: algf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x1a
# CHECK: algf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x1a
# CHECK: algf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x1a
# CHECK: algf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x1a
# CHECK: algf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x1a
# CHECK: algr %r0, %r0
0xb9 0x0a 0x00 0x00
# CHECK: algr %r0, %r15
0xb9 0x0a 0x00 0x0f
# CHECK: algr %r15, %r0
0xb9 0x0a 0x00 0xf0
# CHECK: algr %r7, %r8
0xb9 0x0a 0x00 0x78
# CHECK: algrk %r0, %r0, %r0
0xb9 0xea 0x00 0x00
# CHECK: algrk %r2, %r3, %r4
0xb9 0xea 0x40 0x23
# CHECK: alg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x0a
# CHECK: alg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x0a
# CHECK: alg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x0a
# CHECK: alg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x0a
# CHECK: alg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x0a
# CHECK: alg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x0a
# CHECK: alg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x0a
# CHECK: alg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x0a
# CHECK: alg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x0a
# CHECK: alg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x0a
# CHECK: alghsik %r0, %r1, -32768
0xec 0x01 0x80 0x00 0x00 0xdb
# CHECK: alghsik %r2, %r3, -1
0xec 0x23 0xff 0xff 0x00 0xdb
# CHECK: alghsik %r4, %r5, 0
0xec 0x45 0x00 0x00 0x00 0xdb
# CHECK: alghsik %r6, %r7, 1
0xec 0x67 0x00 0x01 0x00 0xdb
# CHECK: alghsik %r8, %r15, 32767
0xec 0x8f 0x7f 0xff 0x00 0xdb
# CHECK: alhsik %r0, %r1, -32768
0xec 0x01 0x80 0x00 0x00 0xda
# CHECK: alhsik %r2, %r3, -1
0xec 0x23 0xff 0xff 0x00 0xda
# CHECK: alhsik %r4, %r5, 0
0xec 0x45 0x00 0x00 0x00 0xda
# CHECK: alhsik %r6, %r7, 1
0xec 0x67 0x00 0x01 0x00 0xda
# CHECK: alhsik %r8, %r15, 32767
0xec 0x8f 0x7f 0xff 0x00 0xda
# CHECK: alr %r0, %r0
0x1e 0x00
# CHECK: alr %r0, %r15
0x1e 0x0f
# CHECK: alr %r15, %r0
0x1e 0xf0
# CHECK: alr %r7, %r8
0x1e 0x78
# CHECK: alrk %r0, %r0, %r0
0xb9 0xfa 0x00 0x00
# CHECK: alrk %r2, %r3, %r4
0xb9 0xfa 0x40 0x23
# CHECK: al %r0, 0
0x5e 0x00 0x00 0x00
# CHECK: al %r0, 4095
0x5e 0x00 0x0f 0xff
# CHECK: al %r0, 0(%r1)
0x5e 0x00 0x10 0x00
# CHECK: al %r0, 0(%r15)
0x5e 0x00 0xf0 0x00
# CHECK: al %r0, 4095(%r1,%r15)
0x5e 0x01 0xff 0xff
# CHECK: al %r0, 4095(%r15,%r1)
0x5e 0x0f 0x1f 0xff
# CHECK: al %r15, 0
0x5e 0xf0 0x00 0x00
# CHECK: aly %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5e
# CHECK: aly %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x5e
# CHECK: aly %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x5e
# CHECK: aly %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x5e
# CHECK: aly %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x5e
# CHECK: aly %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x5e
# CHECK: aly %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x5e
# CHECK: aly %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x5e
# CHECK: aly %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x5e
# CHECK: aly %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5e
# CHECK: ar %r0, %r0
0x1a 0x00
# CHECK: ar %r0, %r15
0x1a 0x0f
# CHECK: ar %r15, %r0
0x1a 0xf0
# CHECK: ar %r7, %r8
0x1a 0x78
# CHECK: ark %r0, %r0, %r0
0xb9 0xf8 0x00 0x00
# CHECK: ark %r2, %r3, %r4
0xb9 0xf8 0x40 0x23
# CHECK: asi -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x6a
# CHECK: asi -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x6a
# CHECK: asi 0, 0
0xeb 0x00 0x00 0x00 0x00 0x6a
# CHECK: asi 1, 0
0xeb 0x00 0x00 0x01 0x00 0x6a
# CHECK: asi 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x6a
# CHECK: asi 0, -128
0xeb 0x80 0x00 0x00 0x00 0x6a
# CHECK: asi 0, -1
0xeb 0xff 0x00 0x00 0x00 0x6a
# CHECK: asi 0, 1
0xeb 0x01 0x00 0x00 0x00 0x6a
# CHECK: asi 0, 127
0xeb 0x7f 0x00 0x00 0x00 0x6a
# CHECK: asi 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x6a
# CHECK: asi 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x6a
# CHECK: asi 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x6a
# CHECK: asi 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x6a
# CHECK: a %r0, 0
0x5a 0x00 0x00 0x00
# CHECK: a %r0, 4095
0x5a 0x00 0x0f 0xff
# CHECK: a %r0, 0(%r1)
0x5a 0x00 0x10 0x00
# CHECK: a %r0, 0(%r15)
0x5a 0x00 0xf0 0x00
# CHECK: a %r0, 4095(%r1,%r15)
0x5a 0x01 0xff 0xff
# CHECK: a %r0, 4095(%r15,%r1)
0x5a 0x0f 0x1f 0xff
# CHECK: a %r15, 0
0x5a 0xf0 0x00 0x00
# CHECK: axbr %f0, %f0
0xb3 0x4a 0x00 0x00
# CHECK: axbr %f0, %f13
0xb3 0x4a 0x00 0x0d
# CHECK: axbr %f8, %f8
0xb3 0x4a 0x00 0x88
# CHECK: axbr %f13, %f0
0xb3 0x4a 0x00 0xd0
# CHECK: ay %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5a
# CHECK: ay %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x5a
# CHECK: ay %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x5a
# CHECK: ay %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x5a
# CHECK: ay %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x5a
# CHECK: ay %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x5a
# CHECK: ay %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x5a
# CHECK: ay %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x5a
# CHECK: ay %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x5a
# CHECK: ay %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5a
# CHECK: basr %r0, %r1
0x0d 0x01
# CHECK: basr %r0, %r15
0x0d 0x0f
# CHECK: basr %r14, %r9
0x0d 0xe9
# CHECK: basr %r15, %r1
0x0d 0xf1
# CHECK: bcr 0, %r14
0x07 0x0e
# CHECK: bor %r13
0x07 0x1d
# CHECK: bhr %r12
0x07 0x2c
# CHECK: bnler %r11
0x07 0x3b
# CHECK: blr %r10
0x07 0x4a
# CHECK: bnher %r9
0x07 0x59
# CHECK: blhr %r8
0x07 0x68
# CHECK: bner %r7
0x07 0x77
# CHECK: ber %r6
0x07 0x86
# CHECK: bnlhr %r5
0x07 0x95
# CHECK: bher %r4
0x07 0xa4
# CHECK: bnlr %r3
0x07 0xb3
# CHECK: bler %r2
0x07 0xc2
# CHECK: bnhr %r1
0x07 0xd1
# CHECK: bnor %r0
0x07 0xe0
# CHECK: br %r1
0x07 0xf1
# CHECK: br %r14
0x07 0xfe
# CHECK: br %r15
0x07 0xff
# CHECK: cdbr %f0, %f0
0xb3 0x19 0x00 0x00
# CHECK: cdbr %f0, %f15
0xb3 0x19 0x00 0x0f
# CHECK: cdbr %f7, %f8
0xb3 0x19 0x00 0x78
# CHECK: cdbr %f15, %f0
0xb3 0x19 0x00 0xf0
# CHECK: cdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x19
# CHECK: cdb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x19
# CHECK: cdb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x19
# CHECK: cdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x19
# CHECK: cdb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x19
# CHECK: cdb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x19
# CHECK: cdb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x19
# CHECK: cdfbr %f0, %r0
0xb3 0x95 0x00 0x00
# CHECK: cdfbr %f0, %r15
0xb3 0x95 0x00 0x0f
# CHECK: cdfbr %f15, %r0
0xb3 0x95 0x00 0xf0
# CHECK: cdfbr %f7, %r8
0xb3 0x95 0x00 0x78
# CHECK: cdfbr %f15, %r15
0xb3 0x95 0x00 0xff
# CHECK: cdgbr %f0, %r0
0xb3 0xa5 0x00 0x00
# CHECK: cdgbr %f0, %r15
0xb3 0xa5 0x00 0x0f
# CHECK: cdgbr %f15, %r0
0xb3 0xa5 0x00 0xf0
# CHECK: cdgbr %f7, %r8
0xb3 0xa5 0x00 0x78
# CHECK: cdgbr %f15, %r15
0xb3 0xa5 0x00 0xff
# CHECK: cdlfbr %f0, 0, %r0, 1
0xb3 0x91 0x01 0x00
# CHECK: cdlfbr %f0, 0, %r0, 15
0xb3 0x91 0x0f 0x00
# CHECK: cdlfbr %f0, 0, %r15, 1
0xb3 0x91 0x01 0x0f
# CHECK: cdlfbr %f0, 15, %r0, 1
0xb3 0x91 0xf1 0x00
# CHECK: cdlfbr %f4, 5, %r6, 7
0xb3 0x91 0x57 0x46
# CHECK: cdlfbr %f15, 0, %r0, 1
0xb3 0x91 0x01 0xf0
# CHECK: cdlgbr %f0, 0, %r0, 1
0xb3 0xa1 0x01 0x00
# CHECK: cdlgbr %f0, 0, %r0, 15
0xb3 0xa1 0x0f 0x00
# CHECK: cdlgbr %f0, 0, %r15, 1
0xb3 0xa1 0x01 0x0f
# CHECK: cdlgbr %f0, 15, %r0, 1
0xb3 0xa1 0xf1 0x00
# CHECK: cdlgbr %f4, 5, %r6, 7
0xb3 0xa1 0x57 0x46
# CHECK: cdlgbr %f15, 0, %r0, 1
0xb3 0xa1 0x01 0xf0
# CHECK: cebr %f0, %f0
0xb3 0x09 0x00 0x00
# CHECK: cebr %f0, %f15
0xb3 0x09 0x00 0x0f
# CHECK: cebr %f7, %f8
0xb3 0x09 0x00 0x78
# CHECK: cebr %f15, %f0
0xb3 0x09 0x00 0xf0
# CHECK: ceb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x09
# CHECK: ceb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x09
# CHECK: ceb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x09
# CHECK: ceb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x09
# CHECK: ceb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x09
# CHECK: ceb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x09
# CHECK: ceb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x09
# CHECK: cefbr %f0, %r0
0xb3 0x94 0x00 0x00
# CHECK: cefbr %f0, %r15
0xb3 0x94 0x00 0x0f
# CHECK: cefbr %f15, %r0
0xb3 0x94 0x00 0xf0
# CHECK: cefbr %f7, %r8
0xb3 0x94 0x00 0x78
# CHECK: cefbr %f15, %r15
0xb3 0x94 0x00 0xff
# CHECK: cegbr %f0, %r0
0xb3 0xa4 0x00 0x00
# CHECK: cegbr %f0, %r15
0xb3 0xa4 0x00 0x0f
# CHECK: cegbr %f15, %r0
0xb3 0xa4 0x00 0xf0
# CHECK: cegbr %f7, %r8
0xb3 0xa4 0x00 0x78
# CHECK: cegbr %f15, %r15
0xb3 0xa4 0x00 0xff
# CHECK: celfbr %f0, 0, %r0, 1
0xb3 0x90 0x01 0x00
# CHECK: celfbr %f0, 0, %r0, 15
0xb3 0x90 0x0f 0x00
# CHECK: celfbr %f0, 0, %r15, 1
0xb3 0x90 0x01 0x0f
# CHECK: celfbr %f0, 15, %r0, 1
0xb3 0x90 0xf1 0x00
# CHECK: celfbr %f4, 5, %r6, 7
0xb3 0x90 0x57 0x46
# CHECK: celfbr %f15, 0, %r0, 1
0xb3 0x90 0x01 0xf0
# CHECK: celgbr %f0, 0, %r0, 1
0xb3 0xa0 0x01 0x00
# CHECK: celgbr %f0, 0, %r0, 15
0xb3 0xa0 0x0f 0x00
# CHECK: celgbr %f0, 0, %r15, 1
0xb3 0xa0 0x01 0x0f
# CHECK: celgbr %f0, 15, %r0, 1
0xb3 0xa0 0xf1 0x00
# CHECK: celgbr %f4, 5, %r6, 7
0xb3 0xa0 0x57 0x46
# CHECK: celgbr %f15, 0, %r0, 1
0xb3 0xa0 0x01 0xf0
# CHECK: cfdbr %r0, 0, %f0
0xb3 0x99 0x00 0x00
# CHECK: cfdbr %r0, 0, %f15
0xb3 0x99 0x00 0x0f
# CHECK: cfdbr %r0, 15, %f0
0xb3 0x99 0xf0 0x00
# CHECK: cfdbr %r4, 5, %f6
0xb3 0x99 0x50 0x46
# CHECK: cfdbr %r15, 0, %f0
0xb3 0x99 0x00 0xf0
# CHECK: cfebr %r0, 0, %f0
0xb3 0x98 0x00 0x00
# CHECK: cfebr %r0, 0, %f15
0xb3 0x98 0x00 0x0f
# CHECK: cfebr %r0, 15, %f0
0xb3 0x98 0xf0 0x00
# CHECK: cfebr %r4, 5, %f6
0xb3 0x98 0x50 0x46
# CHECK: cfebr %r15, 0, %f0
0xb3 0x98 0x00 0xf0
# CHECK: cfi %r0, -2147483648
0xc2 0x0d 0x80 0x00 0x00 0x00
# CHECK: cfi %r0, -1
0xc2 0x0d 0xff 0xff 0xff 0xff
# CHECK: cfi %r0, 0
0xc2 0x0d 0x00 0x00 0x00 0x00
# CHECK: cfi %r0, 1
0xc2 0x0d 0x00 0x00 0x00 0x01
# CHECK: cfi %r0, 2147483647
0xc2 0x0d 0x7f 0xff 0xff 0xff
# CHECK: cfi %r15, 0
0xc2 0xfd 0x00 0x00 0x00 0x00
# CHECK: cfxbr %r0, 0, %f0
0xb3 0x9a 0x00 0x00
# CHECK: cfxbr %r0, 0, %f13
0xb3 0x9a 0x00 0x0d
# CHECK: cfxbr %r0, 15, %f0
0xb3 0x9a 0xf0 0x00
# CHECK: cfxbr %r4, 5, %f8
0xb3 0x9a 0x50 0x48
# CHECK: cfxbr %r15, 0, %f0
0xb3 0x9a 0x00 0xf0
# CHECK: cgdbr %r0, 0, %f0
0xb3 0xa9 0x00 0x00
# CHECK: cgdbr %r0, 0, %f15
0xb3 0xa9 0x00 0x0f
# CHECK: cgdbr %r0, 15, %f0
0xb3 0xa9 0xf0 0x00
# CHECK: cgdbr %r4, 5, %f6
0xb3 0xa9 0x50 0x46
# CHECK: cgdbr %r15, 0, %f0
0xb3 0xa9 0x00 0xf0
# CHECK: cgebr %r0, 0, %f0
0xb3 0xa8 0x00 0x00
# CHECK: cgebr %r0, 0, %f15
0xb3 0xa8 0x00 0x0f
# CHECK: cgebr %r0, 15, %f0
0xb3 0xa8 0xf0 0x00
# CHECK: cgebr %r4, 5, %f6
0xb3 0xa8 0x50 0x46
# CHECK: cgebr %r15, 0, %f0
0xb3 0xa8 0x00 0xf0
# CHECK: cgfi %r0, -2147483648
0xc2 0x0c 0x80 0x00 0x00 0x00
# CHECK: cgfi %r0, -1
0xc2 0x0c 0xff 0xff 0xff 0xff
# CHECK: cgfi %r0, 0
0xc2 0x0c 0x00 0x00 0x00 0x00
# CHECK: cgfi %r0, 1
0xc2 0x0c 0x00 0x00 0x00 0x01
# CHECK: cgfi %r0, 2147483647
0xc2 0x0c 0x7f 0xff 0xff 0xff
# CHECK: cgfi %r15, 0
0xc2 0xfc 0x00 0x00 0x00 0x00
# CHECK: cgfr %r0, %r0
0xb9 0x30 0x00 0x00
# CHECK: cgfr %r0, %r15
0xb9 0x30 0x00 0x0f
# CHECK: cgfr %r15, %r0
0xb9 0x30 0x00 0xf0
# CHECK: cgfr %r7, %r8
0xb9 0x30 0x00 0x78
# CHECK: cgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x30
# CHECK: cgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x30
# CHECK: cgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x30
# CHECK: cgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x30
# CHECK: cgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x30
# CHECK: cgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x30
# CHECK: cgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x30
# CHECK: cgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x30
# CHECK: cgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x30
# CHECK: cgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x30
# CHECK: cghi %r0, -32768
0xa7 0x0f 0x80 0x00
# CHECK: cghi %r0, -1
0xa7 0x0f 0xff 0xff
# CHECK: cghi %r0, 0
0xa7 0x0f 0x00 0x00
# CHECK: cghi %r0, 1
0xa7 0x0f 0x00 0x01
# CHECK: cghi %r0, 32767
0xa7 0x0f 0x7f 0xff
# CHECK: cghi %r15, 0
0xa7 0xff 0x00 0x00
# CHECK: cghsi 0, 0
0xe5 0x58 0x00 0x00 0x00 0x00
# CHECK: cghsi 4095, 0
0xe5 0x58 0x0f 0xff 0x00 0x00
# CHECK: cghsi 0, -32768
0xe5 0x58 0x00 0x00 0x80 0x00
# CHECK: cghsi 0, -1
0xe5 0x58 0x00 0x00 0xff 0xff
# CHECK: cghsi 0, 0
0xe5 0x58 0x00 0x00 0x00 0x00
# CHECK: cghsi 0, 1
0xe5 0x58 0x00 0x00 0x00 0x01
# CHECK: cghsi 0, 32767
0xe5 0x58 0x00 0x00 0x7f 0xff
# CHECK: cghsi 0(%r1), 42
0xe5 0x58 0x10 0x00 0x00 0x2a
# CHECK: cghsi 0(%r15), 42
0xe5 0x58 0xf0 0x00 0x00 0x2a
# CHECK: cghsi 4095(%r1), 42
0xe5 0x58 0x1f 0xff 0x00 0x2a
# CHECK: cghsi 4095(%r15), 42
0xe5 0x58 0xff 0xff 0x00 0x2a
# CHECK: cgh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x34
# CHECK: cgh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x34
# CHECK: cgh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x34
# CHECK: cgh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x34
# CHECK: cgh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x34
# CHECK: cgh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x34
# CHECK: cgh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x34
# CHECK: cgh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x34
# CHECK: cgh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x34
# CHECK: cgh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x34
# CHECK: cgr %r0, %r0
0xb9 0x20 0x00 0x00
# CHECK: cgr %r0, %r15
0xb9 0x20 0x00 0x0f
# CHECK: cgr %r15, %r0
0xb9 0x20 0x00 0xf0
# CHECK: cgr %r7, %r8
0xb9 0x20 0x00 0x78
# CHECK: cg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x20
# CHECK: cg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x20
# CHECK: cg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x20
# CHECK: cg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x20
# CHECK: cg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x20
# CHECK: cg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x20
# CHECK: cg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x20
# CHECK: cg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x20
# CHECK: cg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x20
# CHECK: cg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x20
# CHECK: cgxbr %r0, 0, %f0
0xb3 0xaa 0x00 0x00
# CHECK: cgxbr %r0, 0, %f13
0xb3 0xaa 0x00 0x0d
# CHECK: cgxbr %r0, 15, %f0
0xb3 0xaa 0xf0 0x00
# CHECK: cgxbr %r4, 5, %f8
0xb3 0xaa 0x50 0x48
# CHECK: cgxbr %r15, 0, %f0
0xb3 0xaa 0x00 0xf0
# CHECK: chf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xcd
# CHECK: chf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xcd
# CHECK: chf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xcd
# CHECK: chf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xcd
# CHECK: chf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xcd
# CHECK: chf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xcd
# CHECK: chf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xcd
# CHECK: chf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xcd
# CHECK: chf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xcd
# CHECK: chf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xcd
# CHECK: chhsi 0, 0
0xe5 0x54 0x00 0x00 0x00 0x00
# CHECK: chhsi 4095, 0
0xe5 0x54 0x0f 0xff 0x00 0x00
# CHECK: chhsi 0, -32768
0xe5 0x54 0x00 0x00 0x80 0x00
# CHECK: chhsi 0, -1
0xe5 0x54 0x00 0x00 0xff 0xff
# CHECK: chhsi 0, 0
0xe5 0x54 0x00 0x00 0x00 0x00
# CHECK: chhsi 0, 1
0xe5 0x54 0x00 0x00 0x00 0x01
# CHECK: chhsi 0, 32767
0xe5 0x54 0x00 0x00 0x7f 0xff
# CHECK: chhsi 0(%r1), 42
0xe5 0x54 0x10 0x00 0x00 0x2a
# CHECK: chhsi 0(%r15), 42
0xe5 0x54 0xf0 0x00 0x00 0x2a
# CHECK: chhsi 4095(%r1), 42
0xe5 0x54 0x1f 0xff 0x00 0x2a
# CHECK: chhsi 4095(%r15), 42
0xe5 0x54 0xff 0xff 0x00 0x2a
# CHECK: chi %r0, -32768
0xa7 0x0e 0x80 0x00
# CHECK: chi %r0, -1
0xa7 0x0e 0xff 0xff
# CHECK: chi %r0, 0
0xa7 0x0e 0x00 0x00
# CHECK: chi %r0, 1
0xa7 0x0e 0x00 0x01
# CHECK: chi %r0, 32767
0xa7 0x0e 0x7f 0xff
# CHECK: chi %r15, 0
0xa7 0xfe 0x00 0x00
# CHECK: chsi 0, 0
0xe5 0x5c 0x00 0x00 0x00 0x00
# CHECK: chsi 4095, 0
0xe5 0x5c 0x0f 0xff 0x00 0x00
# CHECK: chsi 0, -32768
0xe5 0x5c 0x00 0x00 0x80 0x00
# CHECK: chsi 0, -1
0xe5 0x5c 0x00 0x00 0xff 0xff
# CHECK: chsi 0, 0
0xe5 0x5c 0x00 0x00 0x00 0x00
# CHECK: chsi 0, 1
0xe5 0x5c 0x00 0x00 0x00 0x01
# CHECK: chsi 0, 32767
0xe5 0x5c 0x00 0x00 0x7f 0xff
# CHECK: chsi 0(%r1), 42
0xe5 0x5c 0x10 0x00 0x00 0x2a
# CHECK: chsi 0(%r15), 42
0xe5 0x5c 0xf0 0x00 0x00 0x2a
# CHECK: chsi 4095(%r1), 42
0xe5 0x5c 0x1f 0xff 0x00 0x2a
# CHECK: chsi 4095(%r15), 42
0xe5 0x5c 0xff 0xff 0x00 0x2a
# CHECK: ch %r0, 0
0x49 0x00 0x00 0x00
# CHECK: ch %r0, 4095
0x49 0x00 0x0f 0xff
# CHECK: ch %r0, 0(%r1)
0x49 0x00 0x10 0x00
# CHECK: ch %r0, 0(%r15)
0x49 0x00 0xf0 0x00
# CHECK: ch %r0, 4095(%r1,%r15)
0x49 0x01 0xff 0xff
# CHECK: ch %r0, 4095(%r15,%r1)
0x49 0x0f 0x1f 0xff
# CHECK: ch %r15, 0
0x49 0xf0 0x00 0x00
# CHECK: chy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x79
# CHECK: chy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x79
# CHECK: chy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x79
# CHECK: chy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x79
# CHECK: chy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x79
# CHECK: chy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x79
# CHECK: chy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x79
# CHECK: chy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x79
# CHECK: chy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x79
# CHECK: chy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x79
# CHECK: cih %r0, -2147483648
0xcc 0x0d 0x80 0x00 0x00 0x00
# CHECK: cih %r0, -1
0xcc 0x0d 0xff 0xff 0xff 0xff
# CHECK: cih %r0, 0
0xcc 0x0d 0x00 0x00 0x00 0x00
# CHECK: cih %r0, 1
0xcc 0x0d 0x00 0x00 0x00 0x01
# CHECK: cih %r0, 2147483647
0xcc 0x0d 0x7f 0xff 0xff 0xff
# CHECK: cih %r15, 0
0xcc 0xfd 0x00 0x00 0x00 0x00
# CHECK: clc 0(1), 0
0xd5 0x00 0x00 0x00 0x00 0x00
# CHECK: clc 0(1), 0(%r1)
0xd5 0x00 0x00 0x00 0x10 0x00
# CHECK: clc 0(1), 0(%r15)
0xd5 0x00 0x00 0x00 0xf0 0x00
# CHECK: clc 0(1), 4095
0xd5 0x00 0x00 0x00 0x0f 0xff
# CHECK: clc 0(1), 4095(%r1)
0xd5 0x00 0x00 0x00 0x1f 0xff
# CHECK: clc 0(1), 4095(%r15)
0xd5 0x00 0x00 0x00 0xff 0xff
# CHECK: clc 0(1,%r1), 0
0xd5 0x00 0x10 0x00 0x00 0x00
# CHECK: clc 0(1,%r15), 0
0xd5 0x00 0xf0 0x00 0x00 0x00
# CHECK: clc 4095(1,%r1), 0
0xd5 0x00 0x1f 0xff 0x00 0x00
# CHECK: clc 4095(1,%r15), 0
0xd5 0x00 0xff 0xff 0x00 0x00
# CHECK: clc 0(256,%r1), 0
0xd5 0xff 0x10 0x00 0x00 0x00
# CHECK: clc 0(256,%r15), 0
0xd5 0xff 0xf0 0x00 0x00 0x00
# CHECK: clfdbr %r0, 0, %f0, 1
0xb3 0x9d 0x01 0x00
# CHECK: clfdbr %r0, 0, %f0, 15
0xb3 0x9d 0x0f 0x00
# CHECK: clfdbr %r0, 0, %f15, 1
0xb3 0x9d 0x01 0x0f
# CHECK: clfdbr %r0, 15, %f0, 1
0xb3 0x9d 0xf1 0x00
# CHECK: clfdbr %r4, 5, %f6, 7
0xb3 0x9d 0x57 0x46
# CHECK: clfdbr %r15, 0, %f0, 1
0xb3 0x9d 0x01 0xf0
# CHECK: clfebr %r0, 0, %f0, 1
0xb3 0x9c 0x01 0x00
# CHECK: clfebr %r0, 0, %f0, 15
0xb3 0x9c 0x0f 0x00
# CHECK: clfebr %r0, 0, %f15, 1
0xb3 0x9c 0x01 0x0f
# CHECK: clfebr %r0, 15, %f0, 1
0xb3 0x9c 0xf1 0x00
# CHECK: clfebr %r4, 5, %f6, 7
0xb3 0x9c 0x57 0x46
# CHECK: clfebr %r15, 0, %f0, 1
0xb3 0x9c 0x01 0xf0
# CHECK: clfxbr %r0, 0, %f0, 1
0xb3 0x9e 0x01 0x00
# CHECK: clfxbr %r0, 0, %f0, 15
0xb3 0x9e 0x0f 0x00
# CHECK: clfxbr %r0, 0, %f13, 1
0xb3 0x9e 0x01 0x0d
# CHECK: clfxbr %r0, 15, %f0, 1
0xb3 0x9e 0xf1 0x00
# CHECK: clfxbr %r4, 5, %f8, 9
0xb3 0x9e 0x59 0x48
# CHECK: clfxbr %r15, 0, %f0, 1
0xb3 0x9e 0x01 0xf0
# CHECK: clgdbr %r0, 0, %f0, 1
0xb3 0xad 0x01 0x00
# CHECK: clgdbr %r0, 0, %f0, 15
0xb3 0xad 0x0f 0x00
# CHECK: clgdbr %r0, 0, %f15, 1
0xb3 0xad 0x01 0x0f
# CHECK: clgdbr %r0, 15, %f0, 1
0xb3 0xad 0xf1 0x00
# CHECK: clgdbr %r4, 5, %f6, 7
0xb3 0xad 0x57 0x46
# CHECK: clgdbr %r15, 0, %f0, 1
0xb3 0xad 0x01 0xf0
# CHECK: clgebr %r0, 0, %f0, 1
0xb3 0xac 0x01 0x00
# CHECK: clgebr %r0, 0, %f0, 15
0xb3 0xac 0x0f 0x00
# CHECK: clgebr %r0, 0, %f15, 1
0xb3 0xac 0x01 0x0f
# CHECK: clgebr %r0, 15, %f0, 1
0xb3 0xac 0xf1 0x00
# CHECK: clgebr %r4, 5, %f6, 7
0xb3 0xac 0x57 0x46
# CHECK: clgebr %r15, 0, %f0, 1
0xb3 0xac 0x01 0xf0
# CHECK: clgxbr %r0, 0, %f0, 1
0xb3 0xae 0x01 0x00
# CHECK: clgxbr %r0, 0, %f0, 15
0xb3 0xae 0x0f 0x00
# CHECK: clgxbr %r0, 0, %f13, 1
0xb3 0xae 0x01 0x0d
# CHECK: clgxbr %r0, 15, %f0, 1
0xb3 0xae 0xf1 0x00
# CHECK: clgxbr %r4, 5, %f8, 9
0xb3 0xae 0x59 0x48
# CHECK: clgxbr %r15, 0, %f0, 1
0xb3 0xae 0x01 0xf0
# CHECK: clfhsi 0, 0
0xe5 0x5d 0x00 0x00 0x00 0x00
# CHECK: clfhsi 4095, 0
0xe5 0x5d 0x0f 0xff 0x00 0x00
# CHECK: clfhsi 0, 65535
0xe5 0x5d 0x00 0x00 0xff 0xff
# CHECK: clfhsi 0(%r1), 42
0xe5 0x5d 0x10 0x00 0x00 0x2a
# CHECK: clfhsi 0(%r15), 42
0xe5 0x5d 0xf0 0x00 0x00 0x2a
# CHECK: clfhsi 4095(%r1), 42
0xe5 0x5d 0x1f 0xff 0x00 0x2a
# CHECK: clfhsi 4095(%r15), 42
0xe5 0x5d 0xff 0xff 0x00 0x2a
# CHECK: clfi %r0, 0
0xc2 0x0f 0x00 0x00 0x00 0x00
# CHECK: clfi %r0, 4294967295
0xc2 0x0f 0xff 0xff 0xff 0xff
# CHECK: clfi %r15, 0
0xc2 0xff 0x00 0x00 0x00 0x00
# CHECK: clgfi %r0, 0
0xc2 0x0e 0x00 0x00 0x00 0x00
# CHECK: clgfi %r0, 4294967295
0xc2 0x0e 0xff 0xff 0xff 0xff
# CHECK: clgfi %r15, 0
0xc2 0xfe 0x00 0x00 0x00 0x00
# CHECK: clgfr %r0, %r0
0xb9 0x31 0x00 0x00
# CHECK: clgfr %r0, %r15
0xb9 0x31 0x00 0x0f
# CHECK: clgfr %r15, %r0
0xb9 0x31 0x00 0xf0
# CHECK: clgfr %r7, %r8
0xb9 0x31 0x00 0x78
# CHECK: clgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x31
# CHECK: clgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x31
# CHECK: clgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x31
# CHECK: clgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x31
# CHECK: clgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x31
# CHECK: clgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x31
# CHECK: clgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x31
# CHECK: clgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x31
# CHECK: clgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x31
# CHECK: clgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x31
# CHECK: clghsi 0, 0
0xe5 0x59 0x00 0x00 0x00 0x00
# CHECK: clghsi 4095, 0
0xe5 0x59 0x0f 0xff 0x00 0x00
# CHECK: clghsi 0, 65535
0xe5 0x59 0x00 0x00 0xff 0xff
# CHECK: clghsi 0(%r1), 42
0xe5 0x59 0x10 0x00 0x00 0x2a
# CHECK: clghsi 0(%r15), 42
0xe5 0x59 0xf0 0x00 0x00 0x2a
# CHECK: clghsi 4095(%r1), 42
0xe5 0x59 0x1f 0xff 0x00 0x2a
# CHECK: clghsi 4095(%r15), 42
0xe5 0x59 0xff 0xff 0x00 0x2a
# CHECK: clgr %r0, %r0
0xb9 0x21 0x00 0x00
# CHECK: clgr %r0, %r15
0xb9 0x21 0x00 0x0f
# CHECK: clgr %r15, %r0
0xb9 0x21 0x00 0xf0
# CHECK: clgr %r7, %r8
0xb9 0x21 0x00 0x78
# CHECK: clg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x21
# CHECK: clg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x21
# CHECK: clg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x21
# CHECK: clg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x21
# CHECK: clg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x21
# CHECK: clg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x21
# CHECK: clg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x21
# CHECK: clg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x21
# CHECK: clg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x21
# CHECK: clg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x21
# CHECK: clhf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xcf
# CHECK: clhf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xcf
# CHECK: clhf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xcf
# CHECK: clhf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xcf
# CHECK: clhf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xcf
# CHECK: clhf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xcf
# CHECK: clhf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xcf
# CHECK: clhf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xcf
# CHECK: clhf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xcf
# CHECK: clhf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xcf
# CHECK: clhhsi 0, 0
0xe5 0x55 0x00 0x00 0x00 0x00
# CHECK: clhhsi 4095, 0
0xe5 0x55 0x0f 0xff 0x00 0x00
# CHECK: clhhsi 0, 65535
0xe5 0x55 0x00 0x00 0xff 0xff
# CHECK: clhhsi 0(%r1), 42
0xe5 0x55 0x10 0x00 0x00 0x2a
# CHECK: clhhsi 0(%r15), 42
0xe5 0x55 0xf0 0x00 0x00 0x2a
# CHECK: clhhsi 4095(%r1), 42
0xe5 0x55 0x1f 0xff 0x00 0x2a
# CHECK: clhhsi 4095(%r15), 42
0xe5 0x55 0xff 0xff 0x00 0x2a
# CHECK: cli 0, 0
0x95 0x00 0x00 0x00
# CHECK: cli 4095, 0
0x95 0x00 0x0f 0xff
# CHECK: cli 0, 255
0x95 0xff 0x00 0x00
# CHECK: cli 0(%r1), 42
0x95 0x2a 0x10 0x00
# CHECK: cli 0(%r15), 42
0x95 0x2a 0xf0 0x00
# CHECK: cli 4095(%r1), 42
0x95 0x2a 0x1f 0xff
# CHECK: cli 4095(%r15), 42
0x95 0x2a 0xff 0xff
# CHECK: clih %r0, 0
0xcc 0x0f 0x00 0x00 0x00 0x00
# CHECK: clih %r0, 1
0xcc 0x0f 0x00 0x00 0x00 0x01
# CHECK: clih %r0, 4294967295
0xcc 0x0f 0xff 0xff 0xff 0xff
# CHECK: clih %r15, 0
0xcc 0xff 0x00 0x00 0x00 0x00
# CHECK: cliy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x55
# CHECK: cliy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x55
# CHECK: cliy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x55
# CHECK: cliy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x55
# CHECK: cliy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x55
# CHECK: cliy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x55
# CHECK: cliy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x55
# CHECK: cliy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x55
# CHECK: cliy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x55
# CHECK: cliy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x55
# CHECK: clr %r0, %r0
0x15 0x00
# CHECK: clr %r0, %r15
0x15 0x0f
# CHECK: clr %r15, %r0
0x15 0xf0
# CHECK: clr %r7, %r8
0x15 0x78
# CHECK: clst %r0, %r0
0xb2 0x5d 0x00 0x00
# CHECK: clst %r0, %r15
0xb2 0x5d 0x00 0x0f
# CHECK: clst %r15, %r0
0xb2 0x5d 0x00 0xf0
# CHECK: clst %r7, %r8
0xb2 0x5d 0x00 0x78
# CHECK: cl %r0, 0
0x55 0x00 0x00 0x00
# CHECK: cl %r0, 4095
0x55 0x00 0x0f 0xff
# CHECK: cl %r0, 0(%r1)
0x55 0x00 0x10 0x00
# CHECK: cl %r0, 0(%r15)
0x55 0x00 0xf0 0x00
# CHECK: cl %r0, 4095(%r1,%r15)
0x55 0x01 0xff 0xff
# CHECK: cl %r0, 4095(%r15,%r1)
0x55 0x0f 0x1f 0xff
# CHECK: cl %r15, 0
0x55 0xf0 0x00 0x00
# CHECK: cly %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x55
# CHECK: cly %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x55
# CHECK: cly %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x55
# CHECK: cly %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x55
# CHECK: cly %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x55
# CHECK: cly %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x55
# CHECK: cly %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x55
# CHECK: cly %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x55
# CHECK: cly %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x55
# CHECK: cly %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x55
# CHECK: cpsdr %f0, %f0, %f0
0xb3 0x72 0x00 0x00
# CHECK: cpsdr %f0, %f0, %f15
0xb3 0x72 0x00 0x0f
# CHECK: cpsdr %f0, %f15, %f0
0xb3 0x72 0xf0 0x00
# CHECK: cpsdr %f15, %f0, %f0
0xb3 0x72 0x00 0xf0
# CHECK: cpsdr %f1, %f2, %f3
0xb3 0x72 0x20 0x13
# CHECK: cpsdr %f15, %f15, %f15
0xb3 0x72 0xf0 0xff
# CHECK: cr %r0, %r0
0x19 0x00
# CHECK: cr %r0, %r15
0x19 0x0f
# CHECK: cr %r15, %r0
0x19 0xf0
# CHECK: cr %r7, %r8
0x19 0x78
# CHECK: csg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x30
# CHECK: csg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x30
# CHECK: csg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x30
# CHECK: csg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x30
# CHECK: csg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x30
# CHECK: csg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x30
# CHECK: csg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x30
# CHECK: csg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x30
# CHECK: csg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x30
# CHECK: csg %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0x30
# CHECK: csg %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0x30
# CHECK: cs %r0, %r0, 0
0xba 0x00 0x00 0x00
# CHECK: cs %r0, %r0, 4095
0xba 0x00 0x0f 0xff
# CHECK: cs %r0, %r0, 0(%r1)
0xba 0x00 0x10 0x00
# CHECK: cs %r0, %r0, 0(%r15)
0xba 0x00 0xf0 0x00
# CHECK: cs %r0, %r0, 4095(%r1)
0xba 0x00 0x1f 0xff
# CHECK: cs %r0, %r0, 4095(%r15)
0xba 0x00 0xff 0xff
# CHECK: cs %r0, %r15, 0
0xba 0x0f 0x00 0x00
# CHECK: cs %r15, %r0, 0
0xba 0xf0 0x00 0x00
# CHECK: csy %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x14
# CHECK: csy %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x14
# CHECK: csy %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x14
# CHECK: csy %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x14
# CHECK: csy %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x14
# CHECK: csy %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x14
# CHECK: csy %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x14
# CHECK: csy %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x14
# CHECK: csy %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x14
# CHECK: csy %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0x14
# CHECK: csy %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0x14
# CHECK: c %r0, 0
0x59 0x00 0x00 0x00
# CHECK: c %r0, 4095
0x59 0x00 0x0f 0xff
# CHECK: c %r0, 0(%r1)
0x59 0x00 0x10 0x00
# CHECK: c %r0, 0(%r15)
0x59 0x00 0xf0 0x00
# CHECK: c %r0, 4095(%r1,%r15)
0x59 0x01 0xff 0xff
# CHECK: c %r0, 4095(%r15,%r1)
0x59 0x0f 0x1f 0xff
# CHECK: c %r15, 0
0x59 0xf0 0x00 0x00
# CHECK: cxbr %f0, %f0
0xb3 0x49 0x00 0x00
# CHECK: cxbr %f0, %f13
0xb3 0x49 0x00 0x0d
# CHECK: cxbr %f8, %f8
0xb3 0x49 0x00 0x88
# CHECK: cxbr %f13, %f0
0xb3 0x49 0x00 0xd0
# CHECK: cxfbr %f0, %r0
0xb3 0x96 0x00 0x00
# CHECK: cxfbr %f0, %r15
0xb3 0x96 0x00 0x0f
# CHECK: cxfbr %f13, %r0
0xb3 0x96 0x00 0xd0
# CHECK: cxfbr %f8, %r7
0xb3 0x96 0x00 0x87
# CHECK: cxfbr %f13, %r15
0xb3 0x96 0x00 0xdf
# CHECK: cxgbr %f0, %r0
0xb3 0xa6 0x00 0x00
# CHECK: cxgbr %f0, %r15
0xb3 0xa6 0x00 0x0f
# CHECK: cxgbr %f13, %r0
0xb3 0xa6 0x00 0xd0
# CHECK: cxgbr %f8, %r7
0xb3 0xa6 0x00 0x87
# CHECK: cxgbr %f13, %r15
0xb3 0xa6 0x00 0xdf
# CHECK: cxlfbr %f0, 0, %r0, 1
0xb3 0x92 0x01 0x00
# CHECK: cxlfbr %f0, 0, %r0, 15
0xb3 0x92 0x0f 0x00
# CHECK: cxlfbr %f0, 0, %r15, 1
0xb3 0x92 0x01 0x0f
# CHECK: cxlfbr %f0, 15, %r0, 1
0xb3 0x92 0xf1 0x00
# CHECK: cxlfbr %f4, 5, %r6, 7
0xb3 0x92 0x57 0x46
# CHECK: cxlfbr %f13, 0, %r0, 1
0xb3 0x92 0x01 0xd0
# CHECK: cxlgbr %f0, 0, %r0, 1
0xb3 0xa2 0x01 0x00
# CHECK: cxlgbr %f0, 0, %r0, 15
0xb3 0xa2 0x0f 0x00
# CHECK: cxlgbr %f0, 0, %r15, 1
0xb3 0xa2 0x01 0x0f
# CHECK: cxlgbr %f0, 15, %r0, 1
0xb3 0xa2 0xf1 0x00
# CHECK: cxlgbr %f4, 5, %r6, 7
0xb3 0xa2 0x57 0x46
# CHECK: cxlgbr %f13, 0, %r0, 1
0xb3 0xa2 0x01 0xd0
# CHECK: cy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x59
# CHECK: cy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x59
# CHECK: cy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x59
# CHECK: cy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x59
# CHECK: cy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x59
# CHECK: cy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x59
# CHECK: cy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x59
# CHECK: cy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x59
# CHECK: cy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x59
# CHECK: cy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x59
# CHECK: ddbr %f0, %f0
0xb3 0x1d 0x00 0x00
# CHECK: ddbr %f0, %f15
0xb3 0x1d 0x00 0x0f
# CHECK: ddbr %f7, %f8
0xb3 0x1d 0x00 0x78
# CHECK: ddbr %f15, %f0
0xb3 0x1d 0x00 0xf0
# CHECK: ddb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1d
# CHECK: ddb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1d
# CHECK: ddb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1d
# CHECK: ddb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1d
# CHECK: ddb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1d
# CHECK: ddb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1d
# CHECK: ddb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1d
# CHECK: debr %f0, %f0
0xb3 0x0d 0x00 0x00
# CHECK: debr %f0, %f15
0xb3 0x0d 0x00 0x0f
# CHECK: debr %f7, %f8
0xb3 0x0d 0x00 0x78
# CHECK: debr %f15, %f0
0xb3 0x0d 0x00 0xf0
# CHECK: deb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0d
# CHECK: deb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0d
# CHECK: deb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0d
# CHECK: deb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0d
# CHECK: deb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0d
# CHECK: deb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0d
# CHECK: deb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0d
# CHECK: dlgr %r0, %r0
0xb9 0x87 0x00 0x00
# CHECK: dlgr %r0, %r15
0xb9 0x87 0x00 0x0f
# CHECK: dlgr %r14, %r0
0xb9 0x87 0x00 0xe0
# CHECK: dlgr %r6, %r9
0xb9 0x87 0x00 0x69
# CHECK: dlg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x87
# CHECK: dlg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x87
# CHECK: dlg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x87
# CHECK: dlg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x87
# CHECK: dlg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x87
# CHECK: dlg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x87
# CHECK: dlg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x87
# CHECK: dlg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x87
# CHECK: dlg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x87
# CHECK: dlg %r14, 0
0xe3 0xe0 0x00 0x00 0x00 0x87
# CHECK: dlr %r0, %r0
0xb9 0x97 0x00 0x00
# CHECK: dlr %r0, %r15
0xb9 0x97 0x00 0x0f
# CHECK: dlr %r14, %r0
0xb9 0x97 0x00 0xe0
# CHECK: dlr %r6, %r9
0xb9 0x97 0x00 0x69
# CHECK: dl %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x97
# CHECK: dl %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x97
# CHECK: dl %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x97
# CHECK: dl %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x97
# CHECK: dl %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x97
# CHECK: dl %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x97
# CHECK: dl %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x97
# CHECK: dl %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x97
# CHECK: dl %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x97
# CHECK: dl %r14, 0
0xe3 0xe0 0x00 0x00 0x00 0x97
# CHECK: dsgfr %r0, %r0
0xb9 0x1d 0x00 0x00
# CHECK: dsgfr %r0, %r15
0xb9 0x1d 0x00 0x0f
# CHECK: dsgfr %r14, %r0
0xb9 0x1d 0x00 0xe0
# CHECK: dsgfr %r6, %r9
0xb9 0x1d 0x00 0x69
# CHECK: dsgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x1d
# CHECK: dsgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x1d
# CHECK: dsgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x1d
# CHECK: dsgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x1d
# CHECK: dsgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x1d
# CHECK: dsgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x1d
# CHECK: dsgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x1d
# CHECK: dsgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x1d
# CHECK: dsgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x1d
# CHECK: dsgf %r14, 0
0xe3 0xe0 0x00 0x00 0x00 0x1d
# CHECK: dsgr %r0, %r0
0xb9 0x0d 0x00 0x00
# CHECK: dsgr %r0, %r15
0xb9 0x0d 0x00 0x0f
# CHECK: dsgr %r14, %r0
0xb9 0x0d 0x00 0xe0
# CHECK: dsgr %r6, %r9
0xb9 0x0d 0x00 0x69
# CHECK: dsg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x0d
# CHECK: dsg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x0d
# CHECK: dsg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x0d
# CHECK: dsg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x0d
# CHECK: dsg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x0d
# CHECK: dsg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x0d
# CHECK: dsg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x0d
# CHECK: dsg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x0d
# CHECK: dsg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x0d
# CHECK: dsg %r14, 0
0xe3 0xe0 0x00 0x00 0x00 0x0d
# CHECK: dxbr %f0, %f0
0xb3 0x4d 0x00 0x00
# CHECK: dxbr %f0, %f13
0xb3 0x4d 0x00 0x0d
# CHECK: dxbr %f8, %f8
0xb3 0x4d 0x00 0x88
# CHECK: dxbr %f13, %f0
0xb3 0x4d 0x00 0xd0
# CHECK: ear %r0, %a0
0xb2 0x4f 0x00 0x00
# CHECK: ear %r0, %a15
0xb2 0x4f 0x00 0x0f
# CHECK: ear %r15, %a0
0xb2 0x4f 0x00 0xf0
# CHECK: ear %r7, %a8
0xb2 0x4f 0x00 0x78
# CHECK: ear %r15, %a15
0xb2 0x4f 0x00 0xff
# CHECK: etnd %r0
0xb2 0xec 0x00 0x00
# CHECK: etnd %r15
0xb2 0xec 0x00 0xf0
# CHECK: etnd %r7
0xb2 0xec 0x00 0x70
# CHECK: fidbr %f0, 0, %f0
0xb3 0x5f 0x00 0x00
# CHECK: fidbr %f0, 0, %f15
0xb3 0x5f 0x00 0x0f
# CHECK: fidbr %f0, 15, %f0
0xb3 0x5f 0xf0 0x00
# CHECK: fidbr %f4, 5, %f6
0xb3 0x5f 0x50 0x46
# CHECK: fidbr %f15, 0, %f0
0xb3 0x5f 0x00 0xf0
# CHECK: fidbra %f0, 0, %f0, 1
0xb3 0x5f 0x01 0x00
# CHECK: fidbra %f0, 0, %f0, 15
0xb3 0x5f 0x0f 0x00
# CHECK: fidbra %f0, 0, %f15, 1
0xb3 0x5f 0x01 0x0f
# CHECK: fidbra %f0, 15, %f0, 1
0xb3 0x5f 0xf1 0x00
# CHECK: fidbra %f4, 5, %f6, 7
0xb3 0x5f 0x57 0x46
# CHECK: fidbra %f15, 0, %f0, 1
0xb3 0x5f 0x01 0xf0
# CHECK: fiebr %f0, 0, %f0
0xb3 0x57 0x00 0x00
# CHECK: fiebr %f0, 0, %f15
0xb3 0x57 0x00 0x0f
# CHECK: fiebr %f0, 15, %f0
0xb3 0x57 0xf0 0x00
# CHECK: fiebr %f4, 5, %f6
0xb3 0x57 0x50 0x46
# CHECK: fiebr %f15, 0, %f0
0xb3 0x57 0x00 0xf0
# CHECK: fiebra %f0, 0, %f0, 1
0xb3 0x57 0x01 0x00
# CHECK: fiebra %f0, 0, %f0, 15
0xb3 0x57 0x0f 0x00
# CHECK: fiebra %f0, 0, %f15, 1
0xb3 0x57 0x01 0x0f
# CHECK: fiebra %f0, 15, %f0, 1
0xb3 0x57 0xf1 0x00
# CHECK: fiebra %f4, 5, %f6, 7
0xb3 0x57 0x57 0x46
# CHECK: fiebra %f15, 0, %f0, 1
0xb3 0x57 0x01 0xf0
# CHECK: fixbr %f0, 0, %f0
0xb3 0x47 0x00 0x00
# CHECK: fixbr %f0, 0, %f13
0xb3 0x47 0x00 0x0d
# CHECK: fixbr %f0, 15, %f0
0xb3 0x47 0xf0 0x00
# CHECK: fixbr %f4, 5, %f8
0xb3 0x47 0x50 0x48
# CHECK: fixbr %f13, 0, %f0
0xb3 0x47 0x00 0xd0
# CHECK: fixbra %f0, 0, %f0, 1
0xb3 0x47 0x01 0x00
# CHECK: fixbra %f0, 0, %f0, 15
0xb3 0x47 0x0f 0x00
# CHECK: fixbra %f0, 0, %f13, 1
0xb3 0x47 0x01 0x0d
# CHECK: fixbra %f0, 15, %f0, 1
0xb3 0x47 0xf1 0x00
# CHECK: fixbra %f4, 5, %f8, 9
0xb3 0x47 0x59 0x48
# CHECK: fixbra %f13, 0, %f0, 1
0xb3 0x47 0x01 0xd0
# CHECK: flogr %r0, %r0
0xb9 0x83 0x00 0x00
# CHECK: flogr %r0, %r15
0xb9 0x83 0x00 0x0f
# CHECK: flogr %r10, %r9
0xb9 0x83 0x00 0xa9
# CHECK: flogr %r14, %r0
0xb9 0x83 0x00 0xe0
# CHECK: ic %r0, 0
0x43 0x00 0x00 0x00
# CHECK: ic %r0, 4095
0x43 0x00 0x0f 0xff
# CHECK: ic %r0, 0(%r1)
0x43 0x00 0x10 0x00
# CHECK: ic %r0, 0(%r15)
0x43 0x00 0xf0 0x00
# CHECK: ic %r0, 4095(%r1,%r15)
0x43 0x01 0xff 0xff
# CHECK: ic %r0, 4095(%r15,%r1)
0x43 0x0f 0x1f 0xff
# CHECK: ic %r15, 0
0x43 0xf0 0x00 0x00
# CHECK: icy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x73
# CHECK: icy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x73
# CHECK: icy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x73
# CHECK: icy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x73
# CHECK: icy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x73
# CHECK: icy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x73
# CHECK: icy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x73
# CHECK: icy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x73
# CHECK: icy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x73
# CHECK: icy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x73
# CHECK: iihf %r0, 0
0xc0 0x08 0x00 0x00 0x00 0x00
# CHECK: iihf %r0, 4294967295
0xc0 0x08 0xff 0xff 0xff 0xff
# CHECK: iihf %r15, 0
0xc0 0xf8 0x00 0x00 0x00 0x00
# CHECK: iihh %r0, 0
0xa5 0x00 0x00 0x00
# CHECK: iihh %r0, 32768
0xa5 0x00 0x80 0x00
# CHECK: iihh %r0, 65535
0xa5 0x00 0xff 0xff
# CHECK: iihh %r15, 0
0xa5 0xf0 0x00 0x00
# CHECK: iihl %r0, 0
0xa5 0x01 0x00 0x00
# CHECK: iihl %r0, 32768
0xa5 0x01 0x80 0x00
# CHECK: iihl %r0, 65535
0xa5 0x01 0xff 0xff
# CHECK: iihl %r15, 0
0xa5 0xf1 0x00 0x00
# CHECK: iilf %r0, 0
0xc0 0x09 0x00 0x00 0x00 0x00
# CHECK: iilf %r0, 4294967295
0xc0 0x09 0xff 0xff 0xff 0xff
# CHECK: iilf %r15, 0
0xc0 0xf9 0x00 0x00 0x00 0x00
# CHECK: iilh %r0, 0
0xa5 0x02 0x00 0x00
# CHECK: iilh %r0, 32768
0xa5 0x02 0x80 0x00
# CHECK: iilh %r0, 65535
0xa5 0x02 0xff 0xff
# CHECK: iilh %r15, 0
0xa5 0xf2 0x00 0x00
# CHECK: iill %r0, 0
0xa5 0x03 0x00 0x00
# CHECK: iill %r0, 32768
0xa5 0x03 0x80 0x00
# CHECK: iill %r0, 65535
0xa5 0x03 0xff 0xff
# CHECK: iill %r15, 0
0xa5 0xf3 0x00 0x00
# CHECK: ipm %r0
0xb2 0x22 0x00 0x00
# CHECK: ipm %r1
0xb2 0x22 0x00 0x10
# CHECK: ipm %r15
0xb2 0x22 0x00 0xf0
# CHECK: la %r0, 0
0x41 0x00 0x00 0x00
# CHECK: la %r0, 4095
0x41 0x00 0x0f 0xff
# CHECK: la %r0, 0(%r1)
0x41 0x00 0x10 0x00
# CHECK: la %r0, 0(%r15)
0x41 0x00 0xf0 0x00
# CHECK: la %r0, 4095(%r1,%r15)
0x41 0x01 0xff 0xff
# CHECK: la %r0, 4095(%r15,%r1)
0x41 0x0f 0x1f 0xff
# CHECK: la %r15, 0
0x41 0xf0 0x00 0x00
# CHECK: laa %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xf8
# CHECK: laa %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xf8
# CHECK: laa %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xf8
# CHECK: laa %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xf8
# CHECK: laa %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xf8
# CHECK: laa %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xf8
# CHECK: laa %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xf8
# CHECK: laa %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xf8
# CHECK: laa %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xf8
# CHECK: laa %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xf8
# CHECK: laa %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xf8
# CHECK: laag %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xe8
# CHECK: laag %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xe8
# CHECK: laag %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xe8
# CHECK: laag %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xe8
# CHECK: laag %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xe8
# CHECK: laag %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xe8
# CHECK: laag %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xe8
# CHECK: laag %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xe8
# CHECK: laag %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xe8
# CHECK: laag %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xe8
# CHECK: laag %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xe8
# CHECK: laal %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xfa
# CHECK: laal %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xfa
# CHECK: laal %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xfa
# CHECK: laal %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xfa
# CHECK: laal %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xfa
# CHECK: laal %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xfa
# CHECK: laal %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xfa
# CHECK: laal %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xfa
# CHECK: laal %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xfa
# CHECK: laal %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xfa
# CHECK: laal %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xfa
# CHECK: laalg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xea
# CHECK: laalg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xea
# CHECK: laalg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xea
# CHECK: laalg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xea
# CHECK: laalg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xea
# CHECK: laalg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xea
# CHECK: laalg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xea
# CHECK: laalg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xea
# CHECK: laalg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xea
# CHECK: laalg %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xea
# CHECK: laalg %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xea
# CHECK: lan %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xf4
# CHECK: lan %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xf4
# CHECK: lan %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xf4
# CHECK: lan %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xf4
# CHECK: lan %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xf4
# CHECK: lan %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xf4
# CHECK: lan %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xf4
# CHECK: lan %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xf4
# CHECK: lan %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xf4
# CHECK: lan %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xf4
# CHECK: lan %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xf4
# CHECK: csy %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x14
# CHECK: lang %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xe4
# CHECK: lang %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xe4
# CHECK: lang %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xe4
# CHECK: lang %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xe4
# CHECK: lang %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xe4
# CHECK: lang %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xe4
# CHECK: lang %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xe4
# CHECK: lang %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xe4
# CHECK: lang %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xe4
# CHECK: lang %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xe4
# CHECK: lao %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xf6
# CHECK: lao %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xf6
# CHECK: lao %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xf6
# CHECK: lao %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xf6
# CHECK: lao %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xf6
# CHECK: lao %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xf6
# CHECK: lao %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xf6
# CHECK: lao %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xf6
# CHECK: lao %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xf6
# CHECK: lao %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xf6
# CHECK: lao %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xf6
# CHECK: laog %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xe6
# CHECK: laog %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xe6
# CHECK: laog %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xe6
# CHECK: laog %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xe6
# CHECK: laog %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xe6
# CHECK: laog %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xe6
# CHECK: laog %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xe6
# CHECK: laog %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xe6
# CHECK: laog %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xe6
# CHECK: laog %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xe6
# CHECK: laog %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xe6
# CHECK: lax %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xf7
# CHECK: lax %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xf7
# CHECK: lax %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xf7
# CHECK: lax %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xf7
# CHECK: lax %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xf7
# CHECK: lax %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xf7
# CHECK: lax %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xf7
# CHECK: lax %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xf7
# CHECK: lax %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xf7
# CHECK: lax %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xf7
# CHECK: lax %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xf7
# CHECK: laxg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xe7
# CHECK: laxg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xe7
# CHECK: laxg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xe7
# CHECK: laxg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xe7
# CHECK: laxg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xe7
# CHECK: laxg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xe7
# CHECK: laxg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xe7
# CHECK: laxg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xe7
# CHECK: laxg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xe7
# CHECK: laxg %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0xe7
# CHECK: laxg %r15, %r0, 0
0xeb 0xf0 0x00 0x00 0x00 0xe7
# CHECK: lay %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x71
# CHECK: lay %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x71
# CHECK: lay %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x71
# CHECK: lay %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x71
# CHECK: lay %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x71
# CHECK: lay %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x71
# CHECK: lay %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x71
# CHECK: lay %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x71
# CHECK: lay %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x71
# CHECK: lay %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x71
# CHECK: lbr %r0, %r15
0xb9 0x26 0x00 0x0f
# CHECK: lbr %r7, %r8
0xb9 0x26 0x00 0x78
# CHECK: lbr %r15, %r0
0xb9 0x26 0x00 0xf0
# CHECK: lb %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x76
# CHECK: lb %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x76
# CHECK: lb %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x76
# CHECK: lb %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x76
# CHECK: lb %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x76
# CHECK: lb %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x76
# CHECK: lb %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x76
# CHECK: lb %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x76
# CHECK: lb %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x76
# CHECK: lb %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x76
# CHECK: lbh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc0
# CHECK: lbh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc0
# CHECK: lbh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc0
# CHECK: lbh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc0
# CHECK: lbh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc0
# CHECK: lbh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc0
# CHECK: lbh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc0
# CHECK: lbh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc0
# CHECK: lbh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc0
# CHECK: lbh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc0
# CHECK: lcdbr %f0, %f9
0xb3 0x13 0x00 0x09
# CHECK: lcdbr %f0, %f15
0xb3 0x13 0x00 0x0f
# CHECK: lcdbr %f15, %f0
0xb3 0x13 0x00 0xf0
# CHECK: lcdbr %f15, %f9
0xb3 0x13 0x00 0xf9
# CHECK: lcebr %f0, %f9
0xb3 0x03 0x00 0x09
# CHECK: lcebr %f0, %f15
0xb3 0x03 0x00 0x0f
# CHECK: lcebr %f15, %f0
0xb3 0x03 0x00 0xf0
# CHECK: lcebr %f15, %f9
0xb3 0x03 0x00 0xf9
# CHECK: lcgfr %r0, %r0
0xb9 0x13 0x00 0x00
# CHECK: lcgfr %r0, %r15
0xb9 0x13 0x00 0x0f
# CHECK: lcgfr %r15, %r0
0xb9 0x13 0x00 0xf0
# CHECK: lcgfr %r7, %r8
0xb9 0x13 0x00 0x78
# CHECK: lcgr %r0, %r0
0xb9 0x03 0x00 0x00
# CHECK: lcgr %r0, %r15
0xb9 0x03 0x00 0x0f
# CHECK: lcgr %r15, %r0
0xb9 0x03 0x00 0xf0
# CHECK: lcgr %r7, %r8
0xb9 0x03 0x00 0x78
# CHECK: lcr %r0, %r0
0x13 0x00
# CHECK: lcr %r0, %r15
0x13 0x0f
# CHECK: lcr %r15, %r0
0x13 0xf0
# CHECK: lcr %r7, %r8
0x13 0x78
# CHECK: lcxbr %f0, %f8
0xb3 0x43 0x00 0x08
# CHECK: lcxbr %f0, %f13
0xb3 0x43 0x00 0x0d
# CHECK: lcxbr %f13, %f0
0xb3 0x43 0x00 0xd0
# CHECK: lcxbr %f13, %f9
0xb3 0x43 0x00 0xd9
# CHECK: ldebr %f0, %f15
0xb3 0x04 0x00 0x0f
# CHECK: ldebr %f7, %f8
0xb3 0x04 0x00 0x78
# CHECK: ldebr %f15, %f0
0xb3 0x04 0x00 0xf0
# CHECK: ldeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x04
# CHECK: ldeb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x04
# CHECK: ldeb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x04
# CHECK: ldeb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x04
# CHECK: ldeb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x04
# CHECK: ldeb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x04
# CHECK: ldeb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x04
# CHECK: ldgr %f0, %r0
0xb3 0xc1 0x00 0x00
# CHECK: ldgr %f0, %r15
0xb3 0xc1 0x00 0x0f
# CHECK: ldgr %f15, %r0
0xb3 0xc1 0x00 0xf0
# CHECK: ldgr %f7, %r9
0xb3 0xc1 0x00 0x79
# CHECK: ldgr %f15, %r15
0xb3 0xc1 0x00 0xff
# CHECK: ldr %f0, %f9
0x28 0x09
# CHECK: ldr %f0, %f15
0x28 0x0f
# CHECK: ldr %f15, %f0
0x28 0xf0
# CHECK: ldr %f15, %f9
0x28 0xf9
# CHECK: ld %f0, 0
0x68 0x00 0x00 0x00
# CHECK: ld %f0, 4095
0x68 0x00 0x0f 0xff
# CHECK: ld %f0, 0(%r1)
0x68 0x00 0x10 0x00
# CHECK: ld %f0, 0(%r15)
0x68 0x00 0xf0 0x00
# CHECK: ld %f0, 4095(%r1,%r15)
0x68 0x01 0xff 0xff
# CHECK: ld %f0, 4095(%r15,%r1)
0x68 0x0f 0x1f 0xff
# CHECK: ld %f15, 0
0x68 0xf0 0x00 0x00
# CHECK: ldxbr %f0, %f0
0xb3 0x45 0x00 0x00
# CHECK: ldxbr %f0, %f13
0xb3 0x45 0x00 0x0d
# CHECK: ldxbr %f8, %f12
0xb3 0x45 0x00 0x8c
# CHECK: ldxbr %f13, %f0
0xb3 0x45 0x00 0xd0
# CHECK: ldxbr %f13, %f13
0xb3 0x45 0x00 0xdd
# CHECK: ldxbra %f0, 0, %f0, 1
0xb3 0x45 0x01 0x00
# CHECK: ldxbra %f0, 0, %f0, 15
0xb3 0x45 0x0f 0x00
# CHECK: ldxbra %f0, 0, %f13, 1
0xb3 0x45 0x01 0x0d
# CHECK: ldxbra %f0, 15, %f0, 1
0xb3 0x45 0xf1 0x00
# CHECK: ldxbra %f4, 5, %f8, 9
0xb3 0x45 0x59 0x48
# CHECK: ldxbra %f13, 0, %f0, 1
0xb3 0x45 0x01 0xd0
# CHECK: ldy %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x65
# CHECK: ldy %f0, -1
0xed 0x00 0x0f 0xff 0xff 0x65
# CHECK: ldy %f0, 0
0xed 0x00 0x00 0x00 0x00 0x65
# CHECK: ldy %f0, 1
0xed 0x00 0x00 0x01 0x00 0x65
# CHECK: ldy %f0, 524287
0xed 0x00 0x0f 0xff 0x7f 0x65
# CHECK: ldy %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x65
# CHECK: ldy %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x65
# CHECK: ldy %f0, 524287(%r1,%r15)
0xed 0x01 0xff 0xff 0x7f 0x65
# CHECK: ldy %f0, 524287(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x7f 0x65
# CHECK: ldy %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x65
# CHECK: ledbr %f0, %f0
0xb3 0x44 0x00 0x00
# CHECK: ledbr %f0, %f15
0xb3 0x44 0x00 0x0f
# CHECK: ledbr %f7, %f8
0xb3 0x44 0x00 0x78
# CHECK: ledbr %f15, %f0
0xb3 0x44 0x00 0xf0
# CHECK: ledbr %f15, %f15
0xb3 0x44 0x00 0xff
# CHECK: ledbra %f0, 0, %f0, 1
0xb3 0x44 0x01 0x00
# CHECK: ledbra %f0, 0, %f0, 15
0xb3 0x44 0x0f 0x00
# CHECK: ledbra %f0, 0, %f15, 1
0xb3 0x44 0x01 0x0f
# CHECK: ledbra %f0, 15, %f0, 1
0xb3 0x44 0xf1 0x00
# CHECK: ledbra %f4, 5, %f6, 7
0xb3 0x44 0x57 0x46
# CHECK: ledbra %f15, 0, %f0, 1
0xb3 0x44 0x01 0xf0
# CHECK: ler %f0, %f9
0x38 0x09
# CHECK: ler %f0, %f15
0x38 0x0f
# CHECK: ler %f15, %f0
0x38 0xf0
# CHECK: ler %f15, %f9
0x38 0xf9
# CHECK: le %f0, 0
0x78 0x00 0x00 0x00
# CHECK: le %f0, 4095
0x78 0x00 0x0f 0xff
# CHECK: le %f0, 0(%r1)
0x78 0x00 0x10 0x00
# CHECK: le %f0, 0(%r15)
0x78 0x00 0xf0 0x00
# CHECK: le %f0, 4095(%r1,%r15)
0x78 0x01 0xff 0xff
# CHECK: le %f0, 4095(%r15,%r1)
0x78 0x0f 0x1f 0xff
# CHECK: le %f15, 0
0x78 0xf0 0x00 0x00
# CHECK: lexbr %f0, %f0
0xb3 0x46 0x00 0x00
# CHECK: lexbr %f0, %f13
0xb3 0x46 0x00 0x0d
# CHECK: lexbr %f8, %f12
0xb3 0x46 0x00 0x8c
# CHECK: lexbr %f13, %f0
0xb3 0x46 0x00 0xd0
# CHECK: lexbr %f13, %f13
0xb3 0x46 0x00 0xdd
# CHECK: lexbra %f0, 0, %f0, 1
0xb3 0x46 0x01 0x00
# CHECK: lexbra %f0, 0, %f0, 15
0xb3 0x46 0x0f 0x00
# CHECK: lexbra %f0, 0, %f13, 1
0xb3 0x46 0x01 0x0d
# CHECK: lexbra %f0, 15, %f0, 1
0xb3 0x46 0xf1 0x00
# CHECK: lexbra %f4, 5, %f8, 9
0xb3 0x46 0x59 0x48
# CHECK: lexbra %f13, 0, %f0, 1
0xb3 0x46 0x01 0xd0
# CHECK: ley %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x64
# CHECK: ley %f0, -1
0xed 0x00 0x0f 0xff 0xff 0x64
# CHECK: ley %f0, 0
0xed 0x00 0x00 0x00 0x00 0x64
# CHECK: ley %f0, 1
0xed 0x00 0x00 0x01 0x00 0x64
# CHECK: ley %f0, 524287
0xed 0x00 0x0f 0xff 0x7f 0x64
# CHECK: ley %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x64
# CHECK: ley %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x64
# CHECK: ley %f0, 524287(%r1,%r15)
0xed 0x01 0xff 0xff 0x7f 0x64
# CHECK: ley %f0, 524287(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x7f 0x64
# CHECK: ley %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x64
# CHECK: lfh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xca
# CHECK: lfh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xca
# CHECK: lfh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xca
# CHECK: lfh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xca
# CHECK: lfh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xca
# CHECK: lfh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xca
# CHECK: lfh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xca
# CHECK: lfh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xca
# CHECK: lfh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xca
# CHECK: lfh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xca
# CHECK: lgbr %r0, %r15
0xb9 0x06 0x00 0x0f
# CHECK: lgbr %r7, %r8
0xb9 0x06 0x00 0x78
# CHECK: lgbr %r15, %r0
0xb9 0x06 0x00 0xf0
# CHECK: lgb %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x77
# CHECK: lgb %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x77
# CHECK: lgb %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x77
# CHECK: lgb %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x77
# CHECK: lgb %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x77
# CHECK: lgb %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x77
# CHECK: lgb %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x77
# CHECK: lgb %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x77
# CHECK: lgb %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x77
# CHECK: lgb %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x77
# CHECK: lgdr %r0, %f0
0xb3 0xcd 0x00 0x00
# CHECK: lgdr %r0, %f15
0xb3 0xcd 0x00 0x0f
# CHECK: lgdr %r15, %f0
0xb3 0xcd 0x00 0xf0
# CHECK: lgdr %r8, %f8
0xb3 0xcd 0x00 0x88
# CHECK: lgdr %r15, %f15
0xb3 0xcd 0x00 0xff
# CHECK: lgfi %r0, -2147483648
0xc0 0x01 0x80 0x00 0x00 0x00
# CHECK: lgfi %r0, -1
0xc0 0x01 0xff 0xff 0xff 0xff
# CHECK: lgfi %r0, 0
0xc0 0x01 0x00 0x00 0x00 0x00
# CHECK: lgfi %r0, 1
0xc0 0x01 0x00 0x00 0x00 0x01
# CHECK: lgfi %r0, 2147483647
0xc0 0x01 0x7f 0xff 0xff 0xff
# CHECK: lgfi %r15, 0
0xc0 0xf1 0x00 0x00 0x00 0x00
# CHECK: lgfr %r0, %r15
0xb9 0x14 0x00 0x0f
# CHECK: lgfr %r7, %r8
0xb9 0x14 0x00 0x78
# CHECK: lgfr %r15, %r0
0xb9 0x14 0x00 0xf0
# CHECK: lgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x14
# CHECK: lgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x14
# CHECK: lgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x14
# CHECK: lgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x14
# CHECK: lgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x14
# CHECK: lgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x14
# CHECK: lgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x14
# CHECK: lgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x14
# CHECK: lgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x14
# CHECK: lgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x14
# CHECK: lghi %r0, -32768
0xa7 0x09 0x80 0x00
# CHECK: lghi %r0, -1
0xa7 0x09 0xff 0xff
# CHECK: lghi %r0, 0
0xa7 0x09 0x00 0x00
# CHECK: lghi %r0, 1
0xa7 0x09 0x00 0x01
# CHECK: lghi %r0, 32767
0xa7 0x09 0x7f 0xff
# CHECK: lghi %r15, 0
0xa7 0xf9 0x00 0x00
# CHECK: lghr %r0, %r15
0xb9 0x07 0x00 0x0f
# CHECK: lghr %r7, %r8
0xb9 0x07 0x00 0x78
# CHECK: lghr %r15, %r0
0xb9 0x07 0x00 0xf0
# CHECK: lgh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x15
# CHECK: lgh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x15
# CHECK: lgh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x15
# CHECK: lgh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x15
# CHECK: lgh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x15
# CHECK: lgh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x15
# CHECK: lgh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x15
# CHECK: lgh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x15
# CHECK: lgh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x15
# CHECK: lgh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x15
# CHECK: lgr %r0, %r9
0xb9 0x04 0x00 0x09
# CHECK: lgr %r0, %r15
0xb9 0x04 0x00 0x0f
# CHECK: lgr %r15, %r0
0xb9 0x04 0x00 0xf0
# CHECK: lgr %r15, %r9
0xb9 0x04 0x00 0xf9
# CHECK: lg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x04
# CHECK: lg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x04
# CHECK: lg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x04
# CHECK: lg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x04
# CHECK: lg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x04
# CHECK: lg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x04
# CHECK: lg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x04
# CHECK: lg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x04
# CHECK: lg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x04
# CHECK: lg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x04
# CHECK: lhi %r0, -32768
0xa7 0x08 0x80 0x00
# CHECK: lhi %r0, -1
0xa7 0x08 0xff 0xff
# CHECK: lhi %r0, 0
0xa7 0x08 0x00 0x00
# CHECK: lhi %r0, 1
0xa7 0x08 0x00 0x01
# CHECK: lhi %r0, 32767
0xa7 0x08 0x7f 0xff
# CHECK: lhi %r15, 0
0xa7 0xf8 0x00 0x00
# CHECK: lhh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc4
# CHECK: lhh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc4
# CHECK: lhh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc4
# CHECK: lhh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc4
# CHECK: lhh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc4
# CHECK: lhh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc4
# CHECK: lhh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc4
# CHECK: lhh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc4
# CHECK: lhh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc4
# CHECK: lhh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc4
# CHECK: lhr %r0, %r15
0xb9 0x27 0x00 0x0f
# CHECK: lhr %r7, %r8
0xb9 0x27 0x00 0x78
# CHECK: lhr %r15, %r0
0xb9 0x27 0x00 0xf0
# CHECK: lh %r0, 0
0x48 0x00 0x00 0x00
# CHECK: lh %r0, 4095
0x48 0x00 0x0f 0xff
# CHECK: lh %r0, 0(%r1)
0x48 0x00 0x10 0x00
# CHECK: lh %r0, 0(%r15)
0x48 0x00 0xf0 0x00
# CHECK: lh %r0, 4095(%r1,%r15)
0x48 0x01 0xff 0xff
# CHECK: lh %r0, 4095(%r15,%r1)
0x48 0x0f 0x1f 0xff
# CHECK: lh %r15, 0
0x48 0xf0 0x00 0x00
# CHECK: lhy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x78
# CHECK: lhy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x78
# CHECK: lhy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x78
# CHECK: lhy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x78
# CHECK: lhy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x78
# CHECK: lhy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x78
# CHECK: lhy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x78
# CHECK: lhy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x78
# CHECK: lhy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x78
# CHECK: lhy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x78
# CHECK: llcr %r0, %r15
0xb9 0x94 0x00 0x0f
# CHECK: llcr %r7, %r8
0xb9 0x94 0x00 0x78
# CHECK: llcr %r15, %r0
0xb9 0x94 0x00 0xf0
# CHECK: llc %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x94
# CHECK: llc %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x94
# CHECK: llc %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x94
# CHECK: llc %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x94
# CHECK: llc %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x94
# CHECK: llc %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x94
# CHECK: llc %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x94
# CHECK: llc %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x94
# CHECK: llc %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x94
# CHECK: llc %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x94
# CHECK: llch %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc2
# CHECK: llch %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc2
# CHECK: llch %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc2
# CHECK: llch %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc2
# CHECK: llch %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc2
# CHECK: llch %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc2
# CHECK: llch %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc2
# CHECK: llch %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc2
# CHECK: llch %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc2
# CHECK: llch %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc2
# CHECK: llgcr %r0, %r15
0xb9 0x84 0x00 0x0f
# CHECK: llgcr %r7, %r8
0xb9 0x84 0x00 0x78
# CHECK: llgcr %r15, %r0
0xb9 0x84 0x00 0xf0
# CHECK: llgc %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x90
# CHECK: llgc %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x90
# CHECK: llgc %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x90
# CHECK: llgc %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x90
# CHECK: llgc %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x90
# CHECK: llgc %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x90
# CHECK: llgc %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x90
# CHECK: llgc %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x90
# CHECK: llgc %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x90
# CHECK: llgc %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x90
# CHECK: llgfr %r0, %r15
0xb9 0x16 0x00 0x0f
# CHECK: llgfr %r7, %r8
0xb9 0x16 0x00 0x78
# CHECK: llgfr %r15, %r0
0xb9 0x16 0x00 0xf0
# CHECK: llgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x16
# CHECK: llgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x16
# CHECK: llgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x16
# CHECK: llgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x16
# CHECK: llgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x16
# CHECK: llgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x16
# CHECK: llgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x16
# CHECK: llgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x16
# CHECK: llgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x16
# CHECK: llgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x16
# CHECK: llghr %r0, %r15
0xb9 0x85 0x00 0x0f
# CHECK: llghr %r7, %r8
0xb9 0x85 0x00 0x78
# CHECK: llghr %r15, %r0
0xb9 0x85 0x00 0xf0
# CHECK: llgh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x91
# CHECK: llgh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x91
# CHECK: llgh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x91
# CHECK: llgh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x91
# CHECK: llgh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x91
# CHECK: llgh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x91
# CHECK: llgh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x91
# CHECK: llgh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x91
# CHECK: llgh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x91
# CHECK: llgh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x91
# CHECK: llhr %r0, %r15
0xb9 0x95 0x00 0x0f
# CHECK: llhr %r7, %r8
0xb9 0x95 0x00 0x78
# CHECK: llhr %r15, %r0
0xb9 0x95 0x00 0xf0
# CHECK: llh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x95
# CHECK: llh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x95
# CHECK: llh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x95
# CHECK: llh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x95
# CHECK: llh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x95
# CHECK: llh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x95
# CHECK: llh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x95
# CHECK: llh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x95
# CHECK: llh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x95
# CHECK: llh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x95
# CHECK: llhh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc6
# CHECK: llhh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc6
# CHECK: llhh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc6
# CHECK: llhh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc6
# CHECK: llhh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc6
# CHECK: llhh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc6
# CHECK: llhh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc6
# CHECK: llhh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc6
# CHECK: llhh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc6
# CHECK: llhh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc6
# CHECK: llihf %r0, 0
0xc0 0x0e 0x00 0x00 0x00 0x00
# CHECK: llihf %r0, 4294967295
0xc0 0x0e 0xff 0xff 0xff 0xff
# CHECK: llihf %r15, 0
0xc0 0xfe 0x00 0x00 0x00 0x00
# CHECK: llihh %r0, 0
0xa5 0x0c 0x00 0x00
# CHECK: llihh %r0, 32768
0xa5 0x0c 0x80 0x00
# CHECK: llihh %r0, 65535
0xa5 0x0c 0xff 0xff
# CHECK: llihh %r15, 0
0xa5 0xfc 0x00 0x00
# CHECK: llihl %r0, 0
0xa5 0x0d 0x00 0x00
# CHECK: llihl %r0, 32768
0xa5 0x0d 0x80 0x00
# CHECK: llihl %r0, 65535
0xa5 0x0d 0xff 0xff
# CHECK: llihl %r15, 0
0xa5 0xfd 0x00 0x00
# CHECK: llilf %r0, 0
0xc0 0x0f 0x00 0x00 0x00 0x00
# CHECK: llilf %r0, 4294967295
0xc0 0x0f 0xff 0xff 0xff 0xff
# CHECK: llilf %r15, 0
0xc0 0xff 0x00 0x00 0x00 0x00
# CHECK: llilh %r0, 0
0xa5 0x0e 0x00 0x00
# CHECK: llilh %r0, 32768
0xa5 0x0e 0x80 0x00
# CHECK: llilh %r0, 65535
0xa5 0x0e 0xff 0xff
# CHECK: llilh %r15, 0
0xa5 0xfe 0x00 0x00
# CHECK: llill %r0, 0
0xa5 0x0f 0x00 0x00
# CHECK: llill %r0, 32768
0xa5 0x0f 0x80 0x00
# CHECK: llill %r0, 65535
0xa5 0x0f 0xff 0xff
# CHECK: llill %r15, 0
0xa5 0xff 0x00 0x00
# CHECK: lmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x04
# CHECK: lmg %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0x04
# CHECK: lmg %r14, %r15, 0
0xeb 0xef 0x00 0x00 0x00 0x04
# CHECK: lmg %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x04
# CHECK: lmg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x04
# CHECK: lmg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x04
# CHECK: lmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x04
# CHECK: lmg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x04
# CHECK: lmg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x04
# CHECK: lmg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x04
# CHECK: lmg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x04
# CHECK: lmg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x04
# CHECK: lmg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x04
# CHECK: lndbr %f0, %f9
0xb3 0x11 0x00 0x09
# CHECK: lndbr %f0, %f15
0xb3 0x11 0x00 0x0f
# CHECK: lndbr %f15, %f0
0xb3 0x11 0x00 0xf0
# CHECK: lndbr %f15, %f9
0xb3 0x11 0x00 0xf9
# CHECK: lnebr %f0, %f9
0xb3 0x01 0x00 0x09
# CHECK: lnebr %f0, %f15
0xb3 0x01 0x00 0x0f
# CHECK: lnebr %f15, %f0
0xb3 0x01 0x00 0xf0
# CHECK: lnebr %f15, %f9
0xb3 0x01 0x00 0xf9
# CHECK: lngfr %r0, %r0
0xb9 0x11 0x00 0x00
# CHECK: lngfr %r0, %r15
0xb9 0x11 0x00 0x0f
# CHECK: lngfr %r15, %r0
0xb9 0x11 0x00 0xf0
# CHECK: lngfr %r7, %r8
0xb9 0x11 0x00 0x78
# CHECK: lngr %r0, %r0
0xb9 0x01 0x00 0x00
# CHECK: lngr %r0, %r15
0xb9 0x01 0x00 0x0f
# CHECK: lngr %r15, %r0
0xb9 0x01 0x00 0xf0
# CHECK: lngr %r7, %r8
0xb9 0x01 0x00 0x78
# CHECK: lnr %r0, %r0
0x11 0x00
# CHECK: lnr %r0, %r15
0x11 0x0f
# CHECK: lnr %r15, %r0
0x11 0xf0
# CHECK: lnr %r7, %r8
0x11 0x78
# CHECK: lnxbr %f0, %f8
0xb3 0x41 0x00 0x08
# CHECK: lnxbr %f0, %f13
0xb3 0x41 0x00 0x0d
# CHECK: lnxbr %f13, %f0
0xb3 0x41 0x00 0xd0
# CHECK: lnxbr %f13, %f9
0xb3 0x41 0x00 0xd9
# CHECK: loc %r7, 6399(%r8), 0
0xeb 0x70 0x88 0xff 0x01 0xf2
# CHECK: loco %r7, 6399(%r8)
0xeb 0x71 0x88 0xff 0x01 0xf2
# CHECK: loch %r7, 6399(%r8)
0xeb 0x72 0x88 0xff 0x01 0xf2
# CHECK: locnle %r7, 6399(%r8)
0xeb 0x73 0x88 0xff 0x01 0xf2
# CHECK: locl %r7, 6399(%r8)
0xeb 0x74 0x88 0xff 0x01 0xf2
# CHECK: locnhe %r7, 6399(%r8)
0xeb 0x75 0x88 0xff 0x01 0xf2
# CHECK: loclh %r7, 6399(%r8)
0xeb 0x76 0x88 0xff 0x01 0xf2
# CHECK: locne %r7, 6399(%r8)
0xeb 0x77 0x88 0xff 0x01 0xf2
# CHECK: loce %r7, 6399(%r8)
0xeb 0x78 0x88 0xff 0x01 0xf2
# CHECK: locnlh %r7, 6399(%r8)
0xeb 0x79 0x88 0xff 0x01 0xf2
# CHECK: loche %r7, 6399(%r8)
0xeb 0x7a 0x88 0xff 0x01 0xf2
# CHECK: locnl %r7, 6399(%r8)
0xeb 0x7b 0x88 0xff 0x01 0xf2
# CHECK: locle %r7, 6399(%r8)
0xeb 0x7c 0x88 0xff 0x01 0xf2
# CHECK: locnh %r7, 6399(%r8)
0xeb 0x7d 0x88 0xff 0x01 0xf2
# CHECK: locno %r7, 6399(%r8)
0xeb 0x7e 0x88 0xff 0x01 0xf2
# CHECK: loc %r7, 6399(%r8), 15
0xeb 0x7f 0x88 0xff 0x01 0xf2
# CHECK: locg %r7, 6399(%r8), 0
0xeb 0x70 0x88 0xff 0x01 0xe2
# CHECK: locgo %r7, 6399(%r8)
0xeb 0x71 0x88 0xff 0x01 0xe2
# CHECK: locgh %r7, 6399(%r8)
0xeb 0x72 0x88 0xff 0x01 0xe2
# CHECK: locgnle %r7, 6399(%r8)
0xeb 0x73 0x88 0xff 0x01 0xe2
# CHECK: locgl %r7, 6399(%r8)
0xeb 0x74 0x88 0xff 0x01 0xe2
# CHECK: locgnhe %r7, 6399(%r8)
0xeb 0x75 0x88 0xff 0x01 0xe2
# CHECK: locglh %r7, 6399(%r8)
0xeb 0x76 0x88 0xff 0x01 0xe2
# CHECK: locgne %r7, 6399(%r8)
0xeb 0x77 0x88 0xff 0x01 0xe2
# CHECK: locge %r7, 6399(%r8)
0xeb 0x78 0x88 0xff 0x01 0xe2
# CHECK: locgnlh %r7, 6399(%r8)
0xeb 0x79 0x88 0xff 0x01 0xe2
# CHECK: locghe %r7, 6399(%r8)
0xeb 0x7a 0x88 0xff 0x01 0xe2
# CHECK: locgnl %r7, 6399(%r8)
0xeb 0x7b 0x88 0xff 0x01 0xe2
# CHECK: locgle %r7, 6399(%r8)
0xeb 0x7c 0x88 0xff 0x01 0xe2
# CHECK: locgnh %r7, 6399(%r8)
0xeb 0x7d 0x88 0xff 0x01 0xe2
# CHECK: locgno %r7, 6399(%r8)
0xeb 0x7e 0x88 0xff 0x01 0xe2
# CHECK: locg %r7, 6399(%r8), 15
0xeb 0x7f 0x88 0xff 0x01 0xe2
# CHECK: locr %r11, %r3, 0
0xb9 0xf2 0x00 0xb3
# CHECK: locro %r11, %r3
0xb9 0xf2 0x10 0xb3
# CHECK: locrh %r11, %r3
0xb9 0xf2 0x20 0xb3
# CHECK: locrnle %r11, %r3
0xb9 0xf2 0x30 0xb3
# CHECK: locrl %r11, %r3
0xb9 0xf2 0x40 0xb3
# CHECK: locrnhe %r11, %r3
0xb9 0xf2 0x50 0xb3
# CHECK: locrlh %r11, %r3
0xb9 0xf2 0x60 0xb3
# CHECK: locrne %r11, %r3
0xb9 0xf2 0x70 0xb3
# CHECK: locre %r11, %r3
0xb9 0xf2 0x80 0xb3
# CHECK: locrnlh %r11, %r3
0xb9 0xf2 0x90 0xb3
# CHECK: locrhe %r11, %r3
0xb9 0xf2 0xa0 0xb3
# CHECK: locrnl %r11, %r3
0xb9 0xf2 0xb0 0xb3
# CHECK: locrle %r11, %r3
0xb9 0xf2 0xc0 0xb3
# CHECK: locrnh %r11, %r3
0xb9 0xf2 0xd0 0xb3
# CHECK: locrno %r11, %r3
0xb9 0xf2 0xe0 0xb3
# CHECK: locr %r11, %r3, 15
0xb9 0xf2 0xf0 0xb3
# CHECK: locgr %r11, %r3, 0
0xb9 0xe2 0x00 0xb3
# CHECK: locgro %r11, %r3
0xb9 0xe2 0x10 0xb3
# CHECK: locgrh %r11, %r3
0xb9 0xe2 0x20 0xb3
# CHECK: locgrnle %r11, %r3
0xb9 0xe2 0x30 0xb3
# CHECK: locgrl %r11, %r3
0xb9 0xe2 0x40 0xb3
# CHECK: locgrnhe %r11, %r3
0xb9 0xe2 0x50 0xb3
# CHECK: locgrlh %r11, %r3
0xb9 0xe2 0x60 0xb3
# CHECK: locgrne %r11, %r3
0xb9 0xe2 0x70 0xb3
# CHECK: locgre %r11, %r3
0xb9 0xe2 0x80 0xb3
# CHECK: locgrnlh %r11, %r3
0xb9 0xe2 0x90 0xb3
# CHECK: locgrhe %r11, %r3
0xb9 0xe2 0xa0 0xb3
# CHECK: locgrnl %r11, %r3
0xb9 0xe2 0xb0 0xb3
# CHECK: locgrle %r11, %r3
0xb9 0xe2 0xc0 0xb3
# CHECK: locgrnh %r11, %r3
0xb9 0xe2 0xd0 0xb3
# CHECK: locgrno %r11, %r3
0xb9 0xe2 0xe0 0xb3
# CHECK: locgr %r11, %r3, 15
0xb9 0xe2 0xf0 0xb3
# CHECK: lpdbr %f0, %f9
0xb3 0x10 0x00 0x09
# CHECK: lpdbr %f0, %f15
0xb3 0x10 0x00 0x0f
# CHECK: lpdbr %f15, %f0
0xb3 0x10 0x00 0xf0
# CHECK: lpdbr %f15, %f9
0xb3 0x10 0x00 0xf9
# CHECK: lpebr %f0, %f9
0xb3 0x00 0x00 0x09
# CHECK: lpebr %f0, %f15
0xb3 0x00 0x00 0x0f
# CHECK: lpebr %f15, %f0
0xb3 0x00 0x00 0xf0
# CHECK: lpebr %f15, %f9
0xb3 0x00 0x00 0xf9
# CHECK: lpgfr %r0, %r0
0xb9 0x10 0x00 0x00
# CHECK: lpgfr %r0, %r15
0xb9 0x10 0x00 0x0f
# CHECK: lpgfr %r15, %r0
0xb9 0x10 0x00 0xf0
# CHECK: lpgfr %r7, %r8
0xb9 0x10 0x00 0x78
# CHECK: lpgr %r0, %r0
0xb9 0x00 0x00 0x00
# CHECK: lpgr %r0, %r15
0xb9 0x00 0x00 0x0f
# CHECK: lpgr %r15, %r0
0xb9 0x00 0x00 0xf0
# CHECK: lpgr %r7, %r8
0xb9 0x00 0x00 0x78
# CHECK: lpr %r0, %r0
0x10 0x00
# CHECK: lpr %r0, %r15
0x10 0x0f
# CHECK: lpr %r15, %r0
0x10 0xf0
# CHECK: lpr %r7, %r8
0x10 0x78
# CHECK: lpxbr %f0, %f8
0xb3 0x40 0x00 0x08
# CHECK: lpxbr %f0, %f13
0xb3 0x40 0x00 0x0d
# CHECK: lpxbr %f13, %f0
0xb3 0x40 0x00 0xd0
# CHECK: lpxbr %f13, %f9
0xb3 0x40 0x00 0xd9
# CHECK: lr %r0, %r9
0x18 0x09
# CHECK: lr %r0, %r15
0x18 0x0f
# CHECK: lr %r15, %r0
0x18 0xf0
# CHECK: lr %r15, %r9
0x18 0xf9
# CHECK: lrvgr %r0, %r0
0xb9 0x0f 0x00 0x00
# CHECK: lrvgr %r0, %r15
0xb9 0x0f 0x00 0x0f
# CHECK: lrvgr %r15, %r0
0xb9 0x0f 0x00 0xf0
# CHECK: lrvgr %r7, %r8
0xb9 0x0f 0x00 0x78
# CHECK: lrvgr %r15, %r15
0xb9 0x0f 0x00 0xff
# CHECK: lrvg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x0f
# CHECK: lrvg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x0f
# CHECK: lrvg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x0f
# CHECK: lrvg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x0f
# CHECK: lrvg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x0f
# CHECK: lrvg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x0f
# CHECK: lrvg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x0f
# CHECK: lrvg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x0f
# CHECK: lrvg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x0f
# CHECK: lrvg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x0f
# CHECK: lrvr %r0, %r0
0xb9 0x1f 0x00 0x00
# CHECK: lrvr %r0, %r15
0xb9 0x1f 0x00 0x0f
# CHECK: lrvr %r15, %r0
0xb9 0x1f 0x00 0xf0
# CHECK: lrvr %r7, %r8
0xb9 0x1f 0x00 0x78
# CHECK: lrvr %r15, %r15
0xb9 0x1f 0x00 0xff
# CHECK: lrv %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x1e
# CHECK: lrv %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x1e
# CHECK: lrv %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x1e
# CHECK: lrv %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x1e
# CHECK: lrv %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x1e
# CHECK: lrv %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x1e
# CHECK: lrv %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x1e
# CHECK: lrv %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x1e
# CHECK: lrv %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x1e
# CHECK: lrv %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x1e
# CHECK: l %r0, 0
0x58 0x00 0x00 0x00
# CHECK: l %r0, 4095
0x58 0x00 0x0f 0xff
# CHECK: l %r0, 0(%r1)
0x58 0x00 0x10 0x00
# CHECK: l %r0, 0(%r15)
0x58 0x00 0xf0 0x00
# CHECK: l %r0, 4095(%r1,%r15)
0x58 0x01 0xff 0xff
# CHECK: l %r0, 4095(%r15,%r1)
0x58 0x0f 0x1f 0xff
# CHECK: l %r15, 0
0x58 0xf0 0x00 0x00
# CHECK: lt %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x12
# CHECK: lt %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x12
# CHECK: lt %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x12
# CHECK: lt %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x12
# CHECK: lt %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x12
# CHECK: lt %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x12
# CHECK: lt %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x12
# CHECK: lt %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x12
# CHECK: lt %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x12
# CHECK: lt %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x12
# CHECK: ltdbr %f0, %f9
0xb3 0x12 0x00 0x09
# CHECK: ltdbr %f0, %f15
0xb3 0x12 0x00 0x0f
# CHECK: ltdbr %f15, %f0
0xb3 0x12 0x00 0xf0
# CHECK: ltdbr %f15, %f9
0xb3 0x12 0x00 0xf9
# CHECK: ltebr %f0, %f9
0xb3 0x02 0x00 0x09
# CHECK: ltebr %f0, %f15
0xb3 0x02 0x00 0x0f
# CHECK: ltebr %f15, %f0
0xb3 0x02 0x00 0xf0
# CHECK: ltebr %f15, %f9
0xb3 0x02 0x00 0xf9
# CHECK: ltg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x02
# CHECK: ltg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x02
# CHECK: ltg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x02
# CHECK: ltg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x02
# CHECK: ltg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x02
# CHECK: ltg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x02
# CHECK: ltg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x02
# CHECK: ltg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x02
# CHECK: ltg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x02
# CHECK: ltg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x02
# CHECK: ltgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x32
# CHECK: ltgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x32
# CHECK: ltgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x32
# CHECK: ltgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x32
# CHECK: ltgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x32
# CHECK: ltgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x32
# CHECK: ltgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x32
# CHECK: ltgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x32
# CHECK: ltgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x32
# CHECK: ltgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x32
# CHECK: ltgfr %r0, %r9
0xb9 0x12 0x00 0x09
# CHECK: ltgfr %r0, %r15
0xb9 0x12 0x00 0x0f
# CHECK: ltgfr %r15, %r0
0xb9 0x12 0x00 0xf0
# CHECK: ltgfr %r15, %r9
0xb9 0x12 0x00 0xf9
# CHECK: ltgr %r0, %r9
0xb9 0x02 0x00 0x09
# CHECK: ltgr %r0, %r15
0xb9 0x02 0x00 0x0f
# CHECK: ltgr %r15, %r0
0xb9 0x02 0x00 0xf0
# CHECK: ltgr %r15, %r9
0xb9 0x02 0x00 0xf9
# CHECK: ltr %r0, %r9
0x12 0x09
# CHECK: ltr %r0, %r15
0x12 0x0f
# CHECK: ltr %r15, %r0
0x12 0xf0
# CHECK: ltr %r15, %r9
0x12 0xf9
# CHECK: ltxbr %f0, %f9
0xb3 0x42 0x00 0x09
# CHECK: ltxbr %f0, %f13
0xb3 0x42 0x00 0x0d
# CHECK: ltxbr %f13, %f0
0xb3 0x42 0x00 0xd0
# CHECK: ltxbr %f13, %f9
0xb3 0x42 0x00 0xd9
# CHECK: lxr %f0, %f8
0xb3 0x65 0x00 0x08
# CHECK: lxr %f0, %f13
0xb3 0x65 0x00 0x0d
# CHECK: lxr %f13, %f0
0xb3 0x65 0x00 0xd0
# CHECK: lxr %f13, %f9
0xb3 0x65 0x00 0xd9
# CHECK: ly %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x58
# CHECK: ly %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x58
# CHECK: ly %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x58
# CHECK: ly %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x58
# CHECK: ly %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x58
# CHECK: ly %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x58
# CHECK: ly %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x58
# CHECK: ly %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x58
# CHECK: ly %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x58
# CHECK: ly %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x58
# CHECK: lzdr %f0
0xb3 0x75 0x00 0x00
# CHECK: lzdr %f7
0xb3 0x75 0x00 0x70
# CHECK: lzdr %f15
0xb3 0x75 0x00 0xf0
# CHECK: lzer %f0
0xb3 0x74 0x00 0x00
# CHECK: lzer %f7
0xb3 0x74 0x00 0x70
# CHECK: lzer %f15
0xb3 0x74 0x00 0xf0
# CHECK: lzxr %f0
0xb3 0x76 0x00 0x00
# CHECK: lzxr %f8
0xb3 0x76 0x00 0x80
# CHECK: lzxr %f13
0xb3 0x76 0x00 0xd0
# CHECK: madbr %f0, %f0, %f0
0xb3 0x1e 0x00 0x00
# CHECK: madbr %f0, %f0, %f15
0xb3 0x1e 0x00 0x0f
# CHECK: madbr %f0, %f15, %f0
0xb3 0x1e 0x00 0xf0
# CHECK: madbr %f15, %f0, %f0
0xb3 0x1e 0xf0 0x00
# CHECK: madbr %f7, %f8, %f9
0xb3 0x1e 0x70 0x89
# CHECK: madbr %f15, %f15, %f15
0xb3 0x1e 0xf0 0xff
# CHECK: madb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1e
# CHECK: madb %f0, %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1e
# CHECK: madb %f0, %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1e
# CHECK: madb %f0, %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1e
# CHECK: madb %f0, %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1e
# CHECK: madb %f0, %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1e
# CHECK: madb %f0, %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1e
# CHECK: madb %f15, %f0, 0
0xed 0x00 0x00 0x00 0xf0 0x1e
# CHECK: madb %f15, %f15, 0
0xed 0xf0 0x00 0x00 0xf0 0x1e
# CHECK: maebr %f0, %f0, %f0
0xb3 0x0e 0x00 0x00
# CHECK: maebr %f0, %f0, %f15
0xb3 0x0e 0x00 0x0f
# CHECK: maebr %f0, %f15, %f0
0xb3 0x0e 0x00 0xf0
# CHECK: maebr %f15, %f0, %f0
0xb3 0x0e 0xf0 0x00
# CHECK: maebr %f7, %f8, %f9
0xb3 0x0e 0x70 0x89
# CHECK: maebr %f15, %f15, %f15
0xb3 0x0e 0xf0 0xff
# CHECK: maeb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0e
# CHECK: maeb %f0, %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0e
# CHECK: maeb %f0, %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0e
# CHECK: maeb %f0, %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0e
# CHECK: maeb %f0, %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0e
# CHECK: maeb %f0, %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0e
# CHECK: maeb %f0, %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0e
# CHECK: maeb %f15, %f0, 0
0xed 0x00 0x00 0x00 0xf0 0x0e
# CHECK: maeb %f15, %f15, 0
0xed 0xf0 0x00 0x00 0xf0 0x0e
# CHECK: mdbr %f0, %f0
0xb3 0x1c 0x00 0x00
# CHECK: mdbr %f0, %f15
0xb3 0x1c 0x00 0x0f
# CHECK: mdbr %f7, %f8
0xb3 0x1c 0x00 0x78
# CHECK: mdbr %f15, %f0
0xb3 0x1c 0x00 0xf0
# CHECK: mdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1c
# CHECK: mdb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1c
# CHECK: mdb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1c
# CHECK: mdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1c
# CHECK: mdb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1c
# CHECK: mdb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1c
# CHECK: mdb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1c
# CHECK: mdebr %f0, %f0
0xb3 0x0c 0x00 0x00
# CHECK: mdebr %f0, %f15
0xb3 0x0c 0x00 0x0f
# CHECK: mdebr %f7, %f8
0xb3 0x0c 0x00 0x78
# CHECK: mdebr %f15, %f0
0xb3 0x0c 0x00 0xf0
# CHECK: mdeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0c
# CHECK: mdeb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0c
# CHECK: mdeb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0c
# CHECK: mdeb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0c
# CHECK: mdeb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0c
# CHECK: mdeb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0c
# CHECK: mdeb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0c
# CHECK: meebr %f0, %f0
0xb3 0x17 0x00 0x00
# CHECK: meebr %f0, %f15
0xb3 0x17 0x00 0x0f
# CHECK: meebr %f7, %f8
0xb3 0x17 0x00 0x78
# CHECK: meebr %f15, %f0
0xb3 0x17 0x00 0xf0
# CHECK: meeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x17
# CHECK: meeb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x17
# CHECK: meeb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x17
# CHECK: meeb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x17
# CHECK: meeb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x17
# CHECK: meeb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x17
# CHECK: meeb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x17
# CHECK: mghi %r0, -32768
0xa7 0x0d 0x80 0x00
# CHECK: mghi %r0, -1
0xa7 0x0d 0xff 0xff
# CHECK: mghi %r0, 0
0xa7 0x0d 0x00 0x00
# CHECK: mghi %r0, 1
0xa7 0x0d 0x00 0x01
# CHECK: mghi %r0, 32767
0xa7 0x0d 0x7f 0xff
# CHECK: mghi %r15, 0
0xa7 0xfd 0x00 0x00
# CHECK: mhi %r0, -32768
0xa7 0x0c 0x80 0x00
# CHECK: mhi %r0, -1
0xa7 0x0c 0xff 0xff
# CHECK: mhi %r0, 0
0xa7 0x0c 0x00 0x00
# CHECK: mhi %r0, 1
0xa7 0x0c 0x00 0x01
# CHECK: mhi %r0, 32767
0xa7 0x0c 0x7f 0xff
# CHECK: mhi %r15, 0
0xa7 0xfc 0x00 0x00
# CHECK: mh %r0, 0
0x4c 0x00 0x00 0x00
# CHECK: mh %r0, 4095
0x4c 0x00 0x0f 0xff
# CHECK: mh %r0, 0(%r1)
0x4c 0x00 0x10 0x00
# CHECK: mh %r0, 0(%r15)
0x4c 0x00 0xf0 0x00
# CHECK: mh %r0, 4095(%r1,%r15)
0x4c 0x01 0xff 0xff
# CHECK: mh %r0, 4095(%r15,%r1)
0x4c 0x0f 0x1f 0xff
# CHECK: mh %r15, 0
0x4c 0xf0 0x00 0x00
# CHECK: mhy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x7c
# CHECK: mhy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x7c
# CHECK: mhy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x7c
# CHECK: mhy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x7c
# CHECK: mhy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x7c
# CHECK: mhy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x7c
# CHECK: mhy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x7c
# CHECK: mhy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x7c
# CHECK: mhy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x7c
# CHECK: mhy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x7c
# CHECK: mlgr %r0, %r0
0xb9 0x86 0x00 0x00
# CHECK: mlgr %r0, %r15
0xb9 0x86 0x00 0x0f
# CHECK: mlgr %r14, %r0
0xb9 0x86 0x00 0xe0
# CHECK: mlgr %r6, %r9
0xb9 0x86 0x00 0x69
# CHECK: mlg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x86
# CHECK: mlg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x86
# CHECK: mlg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x86
# CHECK: mlg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x86
# CHECK: mlg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x86
# CHECK: mlg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x86
# CHECK: mlg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x86
# CHECK: mlg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x86
# CHECK: mlg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x86
# CHECK: mlg %r14, 0
0xe3 0xe0 0x00 0x00 0x00 0x86
# CHECK: msdbr %f0, %f0, %f0
0xb3 0x1f 0x00 0x00
# CHECK: msdbr %f0, %f0, %f15
0xb3 0x1f 0x00 0x0f
# CHECK: msdbr %f0, %f15, %f0
0xb3 0x1f 0x00 0xf0
# CHECK: msdbr %f15, %f0, %f0
0xb3 0x1f 0xf0 0x00
# CHECK: msdbr %f7, %f8, %f9
0xb3 0x1f 0x70 0x89
# CHECK: msdbr %f15, %f15, %f15
0xb3 0x1f 0xf0 0xff
# CHECK: msdb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1f
# CHECK: msdb %f0, %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1f
# CHECK: msdb %f0, %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1f
# CHECK: msdb %f0, %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1f
# CHECK: msdb %f0, %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1f
# CHECK: msdb %f0, %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1f
# CHECK: msdb %f0, %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1f
# CHECK: msdb %f15, %f0, 0
0xed 0x00 0x00 0x00 0xf0 0x1f
# CHECK: msdb %f15, %f15, 0
0xed 0xf0 0x00 0x00 0xf0 0x1f
# CHECK: msebr %f0, %f0, %f0
0xb3 0x0f 0x00 0x00
# CHECK: msebr %f0, %f0, %f15
0xb3 0x0f 0x00 0x0f
# CHECK: msebr %f0, %f15, %f0
0xb3 0x0f 0x00 0xf0
# CHECK: msebr %f15, %f0, %f0
0xb3 0x0f 0xf0 0x00
# CHECK: msebr %f7, %f8, %f9
0xb3 0x0f 0x70 0x89
# CHECK: msebr %f15, %f15, %f15
0xb3 0x0f 0xf0 0xff
# CHECK: mseb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0f
# CHECK: mseb %f0, %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0f
# CHECK: mseb %f0, %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0f
# CHECK: mseb %f0, %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0f
# CHECK: mseb %f0, %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0f
# CHECK: mseb %f0, %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0f
# CHECK: mseb %f0, %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0f
# CHECK: mseb %f15, %f0, 0
0xed 0x00 0x00 0x00 0xf0 0x0f
# CHECK: mseb %f15, %f15, 0
0xed 0xf0 0x00 0x00 0xf0 0x0f
# CHECK: msfi %r0, -2147483648
0xc2 0x01 0x80 0x00 0x00 0x00
# CHECK: msfi %r0, -1
0xc2 0x01 0xff 0xff 0xff 0xff
# CHECK: msfi %r0, 0
0xc2 0x01 0x00 0x00 0x00 0x00
# CHECK: msfi %r0, 1
0xc2 0x01 0x00 0x00 0x00 0x01
# CHECK: msfi %r0, 2147483647
0xc2 0x01 0x7f 0xff 0xff 0xff
# CHECK: msfi %r15, 0
0xc2 0xf1 0x00 0x00 0x00 0x00
# CHECK: msgfi %r0, -2147483648
0xc2 0x00 0x80 0x00 0x00 0x00
# CHECK: msgfi %r0, -1
0xc2 0x00 0xff 0xff 0xff 0xff
# CHECK: msgfi %r0, 0
0xc2 0x00 0x00 0x00 0x00 0x00
# CHECK: msgfi %r0, 1
0xc2 0x00 0x00 0x00 0x00 0x01
# CHECK: msgfi %r0, 2147483647
0xc2 0x00 0x7f 0xff 0xff 0xff
# CHECK: msgfi %r15, 0
0xc2 0xf0 0x00 0x00 0x00 0x00
# CHECK: msgfr %r0, %r0
0xb9 0x1c 0x00 0x00
# CHECK: msgfr %r0, %r15
0xb9 0x1c 0x00 0x0f
# CHECK: msgfr %r15, %r0
0xb9 0x1c 0x00 0xf0
# CHECK: msgfr %r7, %r8
0xb9 0x1c 0x00 0x78
# CHECK: msgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x1c
# CHECK: msgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x1c
# CHECK: msgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x1c
# CHECK: msgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x1c
# CHECK: msgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x1c
# CHECK: msgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x1c
# CHECK: msgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x1c
# CHECK: msgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x1c
# CHECK: msgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x1c
# CHECK: msgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x1c
# CHECK: msgr %r0, %r0
0xb9 0x0c 0x00 0x00
# CHECK: msgr %r0, %r15
0xb9 0x0c 0x00 0x0f
# CHECK: msgr %r15, %r0
0xb9 0x0c 0x00 0xf0
# CHECK: msgr %r7, %r8
0xb9 0x0c 0x00 0x78
# CHECK: msg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x0c
# CHECK: msg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x0c
# CHECK: msg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x0c
# CHECK: msg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x0c
# CHECK: msg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x0c
# CHECK: msg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x0c
# CHECK: msg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x0c
# CHECK: msg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x0c
# CHECK: msg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x0c
# CHECK: msg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x0c
# CHECK: msr %r0, %r0
0xb2 0x52 0x00 0x00
# CHECK: msr %r0, %r15
0xb2 0x52 0x00 0x0f
# CHECK: msr %r15, %r0
0xb2 0x52 0x00 0xf0
# CHECK: msr %r7, %r8
0xb2 0x52 0x00 0x78
# CHECK: ms %r0, 0
0x71 0x00 0x00 0x00
# CHECK: ms %r0, 4095
0x71 0x00 0x0f 0xff
# CHECK: ms %r0, 0(%r1)
0x71 0x00 0x10 0x00
# CHECK: ms %r0, 0(%r15)
0x71 0x00 0xf0 0x00
# CHECK: ms %r0, 4095(%r1,%r15)
0x71 0x01 0xff 0xff
# CHECK: ms %r0, 4095(%r15,%r1)
0x71 0x0f 0x1f 0xff
# CHECK: ms %r15, 0
0x71 0xf0 0x00 0x00
# CHECK: msy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x51
# CHECK: msy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x51
# CHECK: msy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x51
# CHECK: msy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x51
# CHECK: msy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x51
# CHECK: msy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x51
# CHECK: msy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x51
# CHECK: msy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x51
# CHECK: msy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x51
# CHECK: msy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x51
# CHECK: mvc 0(1), 0
0xd2 0x00 0x00 0x00 0x00 0x00
# CHECK: mvc 0(1), 0(%r1)
0xd2 0x00 0x00 0x00 0x10 0x00
# CHECK: mvc 0(1), 0(%r15)
0xd2 0x00 0x00 0x00 0xf0 0x00
# CHECK: mvc 0(1), 4095
0xd2 0x00 0x00 0x00 0x0f 0xff
# CHECK: mvc 0(1), 4095(%r1)
0xd2 0x00 0x00 0x00 0x1f 0xff
# CHECK: mvc 0(1), 4095(%r15)
0xd2 0x00 0x00 0x00 0xff 0xff
# CHECK: mvc 0(1,%r1), 0
0xd2 0x00 0x10 0x00 0x00 0x00
# CHECK: mvc 0(1,%r15), 0
0xd2 0x00 0xf0 0x00 0x00 0x00
# CHECK: mvc 4095(1,%r1), 0
0xd2 0x00 0x1f 0xff 0x00 0x00
# CHECK: mvc 4095(1,%r15), 0
0xd2 0x00 0xff 0xff 0x00 0x00
# CHECK: mvc 0(256,%r1), 0
0xd2 0xff 0x10 0x00 0x00 0x00
# CHECK: mvc 0(256,%r15), 0
0xd2 0xff 0xf0 0x00 0x00 0x00
# CHECK: mvghi 0, 0
0xe5 0x48 0x00 0x00 0x00 0x00
# CHECK: mvghi 4095, 0
0xe5 0x48 0x0f 0xff 0x00 0x00
# CHECK: mvghi 0, -32768
0xe5 0x48 0x00 0x00 0x80 0x00
# CHECK: mvghi 0, -1
0xe5 0x48 0x00 0x00 0xff 0xff
# CHECK: mvghi 0, 0
0xe5 0x48 0x00 0x00 0x00 0x00
# CHECK: mvghi 0, 1
0xe5 0x48 0x00 0x00 0x00 0x01
# CHECK: mvghi 0, 32767
0xe5 0x48 0x00 0x00 0x7f 0xff
# CHECK: mvghi 0(%r1), 42
0xe5 0x48 0x10 0x00 0x00 0x2a
# CHECK: mvghi 0(%r15), 42
0xe5 0x48 0xf0 0x00 0x00 0x2a
# CHECK: mvghi 4095(%r1), 42
0xe5 0x48 0x1f 0xff 0x00 0x2a
# CHECK: mvghi 4095(%r15), 42
0xe5 0x48 0xff 0xff 0x00 0x2a
# CHECK: mvhhi 0, 0
0xe5 0x44 0x00 0x00 0x00 0x00
# CHECK: mvhhi 4095, 0
0xe5 0x44 0x0f 0xff 0x00 0x00
# CHECK: mvhhi 0, -32768
0xe5 0x44 0x00 0x00 0x80 0x00
# CHECK: mvhhi 0, -1
0xe5 0x44 0x00 0x00 0xff 0xff
# CHECK: mvhhi 0, 0
0xe5 0x44 0x00 0x00 0x00 0x00
# CHECK: mvhhi 0, 1
0xe5 0x44 0x00 0x00 0x00 0x01
# CHECK: mvhhi 0, 32767
0xe5 0x44 0x00 0x00 0x7f 0xff
# CHECK: mvhhi 0(%r1), 42
0xe5 0x44 0x10 0x00 0x00 0x2a
# CHECK: mvhhi 0(%r15), 42
0xe5 0x44 0xf0 0x00 0x00 0x2a
# CHECK: mvhhi 4095(%r1), 42
0xe5 0x44 0x1f 0xff 0x00 0x2a
# CHECK: mvhhi 4095(%r15), 42
0xe5 0x44 0xff 0xff 0x00 0x2a
# CHECK: mvhi 0, 0
0xe5 0x4c 0x00 0x00 0x00 0x00
# CHECK: mvhi 4095, 0
0xe5 0x4c 0x0f 0xff 0x00 0x00
# CHECK: mvhi 0, -32768
0xe5 0x4c 0x00 0x00 0x80 0x00
# CHECK: mvhi 0, -1
0xe5 0x4c 0x00 0x00 0xff 0xff
# CHECK: mvhi 0, 0
0xe5 0x4c 0x00 0x00 0x00 0x00
# CHECK: mvhi 0, 1
0xe5 0x4c 0x00 0x00 0x00 0x01
# CHECK: mvhi 0, 32767
0xe5 0x4c 0x00 0x00 0x7f 0xff
# CHECK: mvhi 0(%r1), 42
0xe5 0x4c 0x10 0x00 0x00 0x2a
# CHECK: mvhi 0(%r15), 42
0xe5 0x4c 0xf0 0x00 0x00 0x2a
# CHECK: mvhi 4095(%r1), 42
0xe5 0x4c 0x1f 0xff 0x00 0x2a
# CHECK: mvhi 4095(%r15), 42
0xe5 0x4c 0xff 0xff 0x00 0x2a
# CHECK: mvi 0, 0
0x92 0x00 0x00 0x00
# CHECK: mvi 4095, 0
0x92 0x00 0x0f 0xff
# CHECK: mvi 0, 255
0x92 0xff 0x00 0x00
# CHECK: mvi 0(%r1), 42
0x92 0x2a 0x10 0x00
# CHECK: mvi 0(%r15), 42
0x92 0x2a 0xf0 0x00
# CHECK: mvi 4095(%r1), 42
0x92 0x2a 0x1f 0xff
# CHECK: mvi 4095(%r15), 42
0x92 0x2a 0xff 0xff
# CHECK: mviy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x52
# CHECK: mviy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x52
# CHECK: mviy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x52
# CHECK: mviy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x52
# CHECK: mviy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x52
# CHECK: mviy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x52
# CHECK: mviy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x52
# CHECK: mviy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x52
# CHECK: mviy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x52
# CHECK: mviy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x52
# CHECK: mvst %r0, %r0
0xb2 0x55 0x00 0x00
# CHECK: mvst %r0, %r15
0xb2 0x55 0x00 0x0f
# CHECK: mvst %r15, %r0
0xb2 0x55 0x00 0xf0
# CHECK: mvst %r7, %r8
0xb2 0x55 0x00 0x78
# CHECK: mxbr %f0, %f0
0xb3 0x4c 0x00 0x00
# CHECK: mxbr %f0, %f13
0xb3 0x4c 0x00 0x0d
# CHECK: mxbr %f8, %f5
0xb3 0x4c 0x00 0x85
# CHECK: mxbr %f13, %f13
0xb3 0x4c 0x00 0xdd
# CHECK: mxdbr %f0, %f0
0xb3 0x07 0x00 0x00
# CHECK: mxdbr %f0, %f15
0xb3 0x07 0x00 0x0f
# CHECK: mxdbr %f8, %f8
0xb3 0x07 0x00 0x88
# CHECK: mxdbr %f13, %f0
0xb3 0x07 0x00 0xd0
# CHECK: mxdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x07
# CHECK: mxdb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x07
# CHECK: mxdb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x07
# CHECK: mxdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x07
# CHECK: mxdb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x07
# CHECK: mxdb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x07
# CHECK: mxdb %f13, 0
0xed 0xd0 0x00 0x00 0x00 0x07
# CHECK: nc 0(1), 0
0xd4 0x00 0x00 0x00 0x00 0x00
# CHECK: nc 0(1), 0(%r1)
0xd4 0x00 0x00 0x00 0x10 0x00
# CHECK: nc 0(1), 0(%r15)
0xd4 0x00 0x00 0x00 0xf0 0x00
# CHECK: nc 0(1), 4095
0xd4 0x00 0x00 0x00 0x0f 0xff
# CHECK: nc 0(1), 4095(%r1)
0xd4 0x00 0x00 0x00 0x1f 0xff
# CHECK: nc 0(1), 4095(%r15)
0xd4 0x00 0x00 0x00 0xff 0xff
# CHECK: nc 0(1,%r1), 0
0xd4 0x00 0x10 0x00 0x00 0x00
# CHECK: nc 0(1,%r15), 0
0xd4 0x00 0xf0 0x00 0x00 0x00
# CHECK: nc 4095(1,%r1), 0
0xd4 0x00 0x1f 0xff 0x00 0x00
# CHECK: nc 4095(1,%r15), 0
0xd4 0x00 0xff 0xff 0x00 0x00
# CHECK: nc 0(256,%r1), 0
0xd4 0xff 0x10 0x00 0x00 0x00
# CHECK: nc 0(256,%r15), 0
0xd4 0xff 0xf0 0x00 0x00 0x00
# CHECK: ngr %r0, %r0
0xb9 0x80 0x00 0x00
# CHECK: ngr %r0, %r15
0xb9 0x80 0x00 0x0f
# CHECK: ngr %r15, %r0
0xb9 0x80 0x00 0xf0
# CHECK: ngr %r7, %r8
0xb9 0x80 0x00 0x78
# CHECK: ng %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x80
# CHECK: ngrk %r0, %r0, %r0
0xb9 0xe4 0x00 0x00
# CHECK: ngrk %r2, %r3, %r4
0xb9 0xe4 0x40 0x23
# CHECK: ng %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x80
# CHECK: ng %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x80
# CHECK: ng %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x80
# CHECK: ng %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x80
# CHECK: ng %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x80
# CHECK: ng %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x80
# CHECK: ng %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x80
# CHECK: ng %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x80
# CHECK: ng %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x80
# CHECK: nihf %r0, 0
0xc0 0x0a 0x00 0x00 0x00 0x00
# CHECK: nihf %r0, 4294967295
0xc0 0x0a 0xff 0xff 0xff 0xff
# CHECK: nihf %r15, 0
0xc0 0xfa 0x00 0x00 0x00 0x00
# CHECK: nihh %r0, 0
0xa5 0x04 0x00 0x00
# CHECK: nihh %r0, 32768
0xa5 0x04 0x80 0x00
# CHECK: nihh %r0, 65535
0xa5 0x04 0xff 0xff
# CHECK: nihh %r15, 0
0xa5 0xf4 0x00 0x00
# CHECK: nihl %r0, 0
0xa5 0x05 0x00 0x00
# CHECK: nihl %r0, 32768
0xa5 0x05 0x80 0x00
# CHECK: nihl %r0, 65535
0xa5 0x05 0xff 0xff
# CHECK: nihl %r15, 0
0xa5 0xf5 0x00 0x00
# CHECK: nilf %r0, 0
0xc0 0x0b 0x00 0x00 0x00 0x00
# CHECK: nilf %r0, 4294967295
0xc0 0x0b 0xff 0xff 0xff 0xff
# CHECK: nilf %r15, 0
0xc0 0xfb 0x00 0x00 0x00 0x00
# CHECK: nilh %r0, 0
0xa5 0x06 0x00 0x00
# CHECK: nilh %r0, 32768
0xa5 0x06 0x80 0x00
# CHECK: nilh %r0, 65535
0xa5 0x06 0xff 0xff
# CHECK: nilh %r15, 0
0xa5 0xf6 0x00 0x00
# CHECK: nill %r0, 0
0xa5 0x07 0x00 0x00
# CHECK: nill %r0, 32768
0xa5 0x07 0x80 0x00
# CHECK: nill %r0, 65535
0xa5 0x07 0xff 0xff
# CHECK: nill %r15, 0
0xa5 0xf7 0x00 0x00
# CHECK: ni 0, 0
0x94 0x00 0x00 0x00
# CHECK: ni 4095, 0
0x94 0x00 0x0f 0xff
# CHECK: ni 0, 255
0x94 0xff 0x00 0x00
# CHECK: ni 0(%r1), 42
0x94 0x2a 0x10 0x00
# CHECK: ni 0(%r15), 42
0x94 0x2a 0xf0 0x00
# CHECK: ni 4095(%r1), 42
0x94 0x2a 0x1f 0xff
# CHECK: ni 4095(%r15), 42
0x94 0x2a 0xff 0xff
# CHECK: niy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x54
# CHECK: niy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x54
# CHECK: niy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x54
# CHECK: niy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x54
# CHECK: niy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x54
# CHECK: niy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x54
# CHECK: niy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x54
# CHECK: niy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x54
# CHECK: niy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x54
# CHECK: niy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x54
# CHECK: nr %r0, %r0
0x14 0x00
# CHECK: nr %r0, %r15
0x14 0x0f
# CHECK: nr %r15, %r0
0x14 0xf0
# CHECK: nr %r7, %r8
0x14 0x78
# CHECK: nrk %r0, %r0, %r0
0xb9 0xf4 0x00 0x00
# CHECK: nrk %r2, %r3, %r4
0xb9 0xf4 0x40 0x23
# CHECK: n %r0, 0
0x54 0x00 0x00 0x00
# CHECK: n %r0, 4095
0x54 0x00 0x0f 0xff
# CHECK: n %r0, 0(%r1)
0x54 0x00 0x10 0x00
# CHECK: n %r0, 0(%r15)
0x54 0x00 0xf0 0x00
# CHECK: n %r0, 4095(%r1,%r15)
0x54 0x01 0xff 0xff
# CHECK: n %r0, 4095(%r15,%r1)
0x54 0x0f 0x1f 0xff
# CHECK: n %r15, 0
0x54 0xf0 0x00 0x00
# CHECK: ny %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x54
# CHECK: ny %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x54
# CHECK: ny %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x54
# CHECK: ny %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x54
# CHECK: ny %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x54
# CHECK: ny %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x54
# CHECK: ny %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x54
# CHECK: ny %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x54
# CHECK: ny %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x54
# CHECK: ny %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x54
# CHECK: ntstg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x25
# CHECK: ntstg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x25
# CHECK: ntstg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x25
# CHECK: ntstg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x25
# CHECK: ntstg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x25
# CHECK: ntstg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x25
# CHECK: ntstg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x25
# CHECK: ntstg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x25
# CHECK: ntstg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x25
# CHECK: ntstg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x25
# CHECK: oc 0(1), 0
0xd6 0x00 0x00 0x00 0x00 0x00
# CHECK: oc 0(1), 0(%r1)
0xd6 0x00 0x00 0x00 0x10 0x00
# CHECK: oc 0(1), 0(%r15)
0xd6 0x00 0x00 0x00 0xf0 0x00
# CHECK: oc 0(1), 4095
0xd6 0x00 0x00 0x00 0x0f 0xff
# CHECK: oc 0(1), 4095(%r1)
0xd6 0x00 0x00 0x00 0x1f 0xff
# CHECK: oc 0(1), 4095(%r15)
0xd6 0x00 0x00 0x00 0xff 0xff
# CHECK: oc 0(1,%r1), 0
0xd6 0x00 0x10 0x00 0x00 0x00
# CHECK: oc 0(1,%r15), 0
0xd6 0x00 0xf0 0x00 0x00 0x00
# CHECK: oc 4095(1,%r1), 0
0xd6 0x00 0x1f 0xff 0x00 0x00
# CHECK: oc 4095(1,%r15), 0
0xd6 0x00 0xff 0xff 0x00 0x00
# CHECK: oc 0(256,%r1), 0
0xd6 0xff 0x10 0x00 0x00 0x00
# CHECK: oc 0(256,%r15), 0
0xd6 0xff 0xf0 0x00 0x00 0x00
# CHECK: ogr %r0, %r0
0xb9 0x81 0x00 0x00
# CHECK: ogr %r0, %r15
0xb9 0x81 0x00 0x0f
# CHECK: ogr %r15, %r0
0xb9 0x81 0x00 0xf0
# CHECK: ogr %r7, %r8
0xb9 0x81 0x00 0x78
# CHECK: ogrk %r0, %r0, %r0
0xb9 0xe6 0x00 0x00
# CHECK: ogrk %r2, %r3, %r4
0xb9 0xe6 0x40 0x23
# CHECK: og %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x81
# CHECK: og %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x81
# CHECK: og %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x81
# CHECK: og %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x81
# CHECK: og %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x81
# CHECK: og %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x81
# CHECK: og %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x81
# CHECK: og %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x81
# CHECK: og %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x81
# CHECK: og %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x81
# CHECK: oihf %r0, 0
0xc0 0x0c 0x00 0x00 0x00 0x00
# CHECK: oihf %r0, 4294967295
0xc0 0x0c 0xff 0xff 0xff 0xff
# CHECK: oihf %r15, 0
0xc0 0xfc 0x00 0x00 0x00 0x00
# CHECK: oihh %r0, 0
0xa5 0x08 0x00 0x00
# CHECK: oihh %r0, 32768
0xa5 0x08 0x80 0x00
# CHECK: oihh %r0, 65535
0xa5 0x08 0xff 0xff
# CHECK: oihh %r15, 0
0xa5 0xf8 0x00 0x00
# CHECK: oihl %r0, 0
0xa5 0x09 0x00 0x00
# CHECK: oihl %r0, 32768
0xa5 0x09 0x80 0x00
# CHECK: oihl %r0, 65535
0xa5 0x09 0xff 0xff
# CHECK: oihl %r15, 0
0xa5 0xf9 0x00 0x00
# CHECK: oilf %r0, 0
0xc0 0x0d 0x00 0x00 0x00 0x00
# CHECK: oilf %r0, 4294967295
0xc0 0x0d 0xff 0xff 0xff 0xff
# CHECK: oilf %r15, 0
0xc0 0xfd 0x00 0x00 0x00 0x00
# CHECK: oilh %r0, 0
0xa5 0x0a 0x00 0x00
# CHECK: oilh %r0, 32768
0xa5 0x0a 0x80 0x00
# CHECK: oilh %r0, 65535
0xa5 0x0a 0xff 0xff
# CHECK: oilh %r15, 0
0xa5 0xfa 0x00 0x00
# CHECK: oill %r0, 0
0xa5 0x0b 0x00 0x00
# CHECK: oill %r0, 32768
0xa5 0x0b 0x80 0x00
# CHECK: oill %r0, 65535
0xa5 0x0b 0xff 0xff
# CHECK: oill %r15, 0
0xa5 0xfb 0x00 0x00
# CHECK: oi 0, 0
0x96 0x00 0x00 0x00
# CHECK: oi 4095, 0
0x96 0x00 0x0f 0xff
# CHECK: oi 0, 255
0x96 0xff 0x00 0x00
# CHECK: oi 0(%r1), 42
0x96 0x2a 0x10 0x00
# CHECK: oi 0(%r15), 42
0x96 0x2a 0xf0 0x00
# CHECK: oi 4095(%r1), 42
0x96 0x2a 0x1f 0xff
# CHECK: oi 4095(%r15), 42
0x96 0x2a 0xff 0xff
# CHECK: oiy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x56
# CHECK: oiy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x56
# CHECK: oiy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x56
# CHECK: oiy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x56
# CHECK: oiy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x56
# CHECK: oiy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x56
# CHECK: oiy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x56
# CHECK: oiy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x56
# CHECK: oiy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x56
# CHECK: oiy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x56
# CHECK: or %r0, %r0
0x16 0x00
# CHECK: or %r0, %r15
0x16 0x0f
# CHECK: or %r15, %r0
0x16 0xf0
# CHECK: or %r7, %r8
0x16 0x78
# CHECK: ork %r0, %r0, %r0
0xb9 0xf6 0x00 0x00
# CHECK: ork %r2, %r3, %r4
0xb9 0xf6 0x40 0x23
# CHECK: o %r0, 0
0x56 0x00 0x00 0x00
# CHECK: o %r0, 4095
0x56 0x00 0x0f 0xff
# CHECK: o %r0, 0(%r1)
0x56 0x00 0x10 0x00
# CHECK: o %r0, 0(%r15)
0x56 0x00 0xf0 0x00
# CHECK: o %r0, 4095(%r1,%r15)
0x56 0x01 0xff 0xff
# CHECK: o %r0, 4095(%r15,%r1)
0x56 0x0f 0x1f 0xff
# CHECK: o %r15, 0
0x56 0xf0 0x00 0x00
# CHECK: oy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x56
# CHECK: oy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x56
# CHECK: oy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x56
# CHECK: oy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x56
# CHECK: oy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x56
# CHECK: oy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x56
# CHECK: oy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x56
# CHECK: oy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x56
# CHECK: oy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x56
# CHECK: oy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x56
# CHECK: pfd 0, -524288
0xe3 0x00 0x00 0x00 0x80 0x36
# CHECK: pfd 0, -1
0xe3 0x00 0x0f 0xff 0xff 0x36
# CHECK: pfd 0, 0
0xe3 0x00 0x00 0x00 0x00 0x36
# CHECK: pfd 0, 1
0xe3 0x00 0x00 0x01 0x00 0x36
# CHECK: pfd 0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x36
# CHECK: pfd 0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x36
# CHECK: pfd 0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x36
# CHECK: pfd 0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x36
# CHECK: pfd 0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x36
# CHECK: pfd 15, 0
0xe3 0xf0 0x00 0x00 0x00 0x36
# CHECK: popcnt %r0, %r0
0xb9 0xe1 0x00 0x00
# CHECK: popcnt %r0, %r15
0xb9 0xe1 0x00 0x0f
# CHECK: popcnt %r15, %r0
0xb9 0xe1 0x00 0xf0
# CHECK: popcnt %r7, %r8
0xb9 0xe1 0x00 0x78
# CHECK: ppa %r0, %r0, 0
0xb2 0xe8 0x00 0x00
# CHECK: ppa %r0, %r0, 15
0xb2 0xe8 0xf0 0x00
# CHECK: ppa %r0, %r15, 0
0xb2 0xe8 0x00 0x0f
# CHECK: ppa %r4, %r6, 7
0xb2 0xe8 0x70 0x46
# CHECK: ppa %r15, %r0, 0
0xb2 0xe8 0x00 0xf0
# CHECK: risbg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x55
# CHECK: risbg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x55
# CHECK: risbg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x55
# CHECK: risbg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x55
# CHECK: risbg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x55
# CHECK: risbg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x55
# CHECK: risbg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x55
# CHECK: risbgn %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x59
# CHECK: risbgn %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x59
# CHECK: risbgn %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x59
# CHECK: risbgn %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x59
# CHECK: risbgn %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x59
# CHECK: risbgn %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x59
# CHECK: risbgn %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x59
# CHECK: risbhg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x5d
# CHECK: risbhg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x5d
# CHECK: risbhg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x5d
# CHECK: risbhg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x5d
# CHECK: risbhg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x5d
# CHECK: risbhg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x5d
# CHECK: risbhg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x5d
# CHECK: risblg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x51
# CHECK: risblg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x51
# CHECK: risblg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x51
# CHECK: risblg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x51
# CHECK: risblg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x51
# CHECK: risblg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x51
# CHECK: risblg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x51
# CHECK: rnsbg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x54
# CHECK: rnsbg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x54
# CHECK: rnsbg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x54
# CHECK: rnsbg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x54
# CHECK: rnsbg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x54
# CHECK: rnsbg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x54
# CHECK: rnsbg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x54
# CHECK: rosbg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x56
# CHECK: rosbg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x56
# CHECK: rosbg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x56
# CHECK: rosbg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x56
# CHECK: rosbg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x56
# CHECK: rosbg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x56
# CHECK: rosbg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x56
# CHECK: rxsbg %r0, %r0, 0, 0, 0
0xec 0x00 0x00 0x00 0x00 0x57
# CHECK: rxsbg %r0, %r0, 0, 0, 63
0xec 0x00 0x00 0x00 0x3f 0x57
# CHECK: rxsbg %r0, %r0, 0, 255, 0
0xec 0x00 0x00 0xff 0x00 0x57
# CHECK: rxsbg %r0, %r0, 255, 0, 0
0xec 0x00 0xff 0x00 0x00 0x57
# CHECK: rxsbg %r0, %r15, 0, 0, 0
0xec 0x0f 0x00 0x00 0x00 0x57
# CHECK: rxsbg %r15, %r0, 0, 0, 0
0xec 0xf0 0x00 0x00 0x00 0x57
# CHECK: rxsbg %r4, %r5, 6, 7, 8
0xec 0x45 0x06 0x07 0x08 0x57
# CHECK: rllg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x1c
# CHECK: rllg %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0x1c
# CHECK: rllg %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0x1c
# CHECK: rllg %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x1c
# CHECK: rllg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x1c
# CHECK: rllg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x1c
# CHECK: rllg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x1c
# CHECK: rllg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x1c
# CHECK: rllg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x1c
# CHECK: rllg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x1c
# CHECK: rllg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x1c
# CHECK: rllg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x1c
# CHECK: rll %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x1d
# CHECK: rll %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0x1d
# CHECK: rll %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0x1d
# CHECK: rll %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x1d
# CHECK: rll %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x1d
# CHECK: rll %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x1d
# CHECK: rll %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x1d
# CHECK: rll %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x1d
# CHECK: rll %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x1d
# CHECK: rll %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x1d
# CHECK: rll %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x1d
# CHECK: rll %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x1d
# CHECK: sdbr %f0, %f0
0xb3 0x1b 0x00 0x00
# CHECK: sdbr %f0, %f15
0xb3 0x1b 0x00 0x0f
# CHECK: sdbr %f7, %f8
0xb3 0x1b 0x00 0x78
# CHECK: sdbr %f15, %f0
0xb3 0x1b 0x00 0xf0
# CHECK: sdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1b
# CHECK: sdb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x1b
# CHECK: sdb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x1b
# CHECK: sdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x1b
# CHECK: sdb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x1b
# CHECK: sdb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x1b
# CHECK: sdb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x1b
# CHECK: sebr %f0, %f0
0xb3 0x0b 0x00 0x00
# CHECK: sebr %f0, %f15
0xb3 0x0b 0x00 0x0f
# CHECK: sebr %f7, %f8
0xb3 0x0b 0x00 0x78
# CHECK: sebr %f15, %f0
0xb3 0x0b 0x00 0xf0
# CHECK: seb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0b
# CHECK: seb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x0b
# CHECK: seb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x0b
# CHECK: seb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x0b
# CHECK: seb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x0b
# CHECK: seb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x0b
# CHECK: seb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x0b
# CHECK: sgfr %r0, %r0
0xb9 0x19 0x00 0x00
# CHECK: sgfr %r0, %r15
0xb9 0x19 0x00 0x0f
# CHECK: sgfr %r15, %r0
0xb9 0x19 0x00 0xf0
# CHECK: sgfr %r7, %r8
0xb9 0x19 0x00 0x78
# CHECK: sgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x19
# CHECK: sgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x19
# CHECK: sgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x19
# CHECK: sgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x19
# CHECK: sgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x19
# CHECK: sgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x19
# CHECK: sgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x19
# CHECK: sgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x19
# CHECK: sgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x19
# CHECK: sgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x19
# CHECK: sgr %r0, %r0
0xb9 0x09 0x00 0x00
# CHECK: sgr %r0, %r15
0xb9 0x09 0x00 0x0f
# CHECK: sgr %r15, %r0
0xb9 0x09 0x00 0xf0
# CHECK: sgr %r7, %r8
0xb9 0x09 0x00 0x78
# CHECK: sgrk %r0, %r0, %r0
0xb9 0xe9 0x00 0x00
# CHECK: sgrk %r2, %r3, %r4
0xb9 0xe9 0x40 0x23
# CHECK: sg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x09
# CHECK: sg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x09
# CHECK: sg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x09
# CHECK: sg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x09
# CHECK: sg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x09
# CHECK: sg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x09
# CHECK: sg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x09
# CHECK: sg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x09
# CHECK: sg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x09
# CHECK: sg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x09
# CHECK: sh %r0, 0
0x4b 0x00 0x00 0x00
# CHECK: sh %r0, 4095
0x4b 0x00 0x0f 0xff
# CHECK: sh %r0, 0(%r1)
0x4b 0x00 0x10 0x00
# CHECK: sh %r0, 0(%r15)
0x4b 0x00 0xf0 0x00
# CHECK: sh %r0, 4095(%r1,%r15)
0x4b 0x01 0xff 0xff
# CHECK: sh %r0, 4095(%r15,%r1)
0x4b 0x0f 0x1f 0xff
# CHECK: sh %r15, 0
0x4b 0xf0 0x00 0x00
# CHECK: shy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x7b
# CHECK: shy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x7b
# CHECK: shy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x7b
# CHECK: shy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x7b
# CHECK: shy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x7b
# CHECK: shy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x7b
# CHECK: shy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x7b
# CHECK: shy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x7b
# CHECK: shy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x7b
# CHECK: shy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x7b
# CHECK: slbgr %r0, %r0
0xb9 0x89 0x00 0x00
# CHECK: slbgr %r0, %r15
0xb9 0x89 0x00 0x0f
# CHECK: slbgr %r15, %r0
0xb9 0x89 0x00 0xf0
# CHECK: slbgr %r7, %r8
0xb9 0x89 0x00 0x78
# CHECK: slbg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x89
# CHECK: slbg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x89
# CHECK: slbg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x89
# CHECK: slbg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x89
# CHECK: slbg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x89
# CHECK: slbg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x89
# CHECK: slbg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x89
# CHECK: slbg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x89
# CHECK: slbg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x89
# CHECK: slbg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x89
# CHECK: slbr %r0, %r0
0xb9 0x99 0x00 0x00
# CHECK: slbr %r0, %r15
0xb9 0x99 0x00 0x0f
# CHECK: slbr %r15, %r0
0xb9 0x99 0x00 0xf0
# CHECK: slbr %r7, %r8
0xb9 0x99 0x00 0x78
# CHECK: slb %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x99
# CHECK: slb %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x99
# CHECK: slb %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x99
# CHECK: slb %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x99
# CHECK: slb %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x99
# CHECK: slb %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x99
# CHECK: slb %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x99
# CHECK: slb %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x99
# CHECK: slb %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x99
# CHECK: slb %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x99
# CHECK: slfi %r0, 0
0xc2 0x05 0x00 0x00 0x00 0x00
# CHECK: slfi %r0, 4294967295
0xc2 0x05 0xff 0xff 0xff 0xff
# CHECK: slfi %r15, 0
0xc2 0xf5 0x00 0x00 0x00 0x00
# CHECK: slgfi %r0, 0
0xc2 0x04 0x00 0x00 0x00 0x00
# CHECK: slgfi %r0, 4294967295
0xc2 0x04 0xff 0xff 0xff 0xff
# CHECK: slgfi %r15, 0
0xc2 0xf4 0x00 0x00 0x00 0x00
# CHECK: slgfr %r0, %r0
0xb9 0x1b 0x00 0x00
# CHECK: slgfr %r0, %r15
0xb9 0x1b 0x00 0x0f
# CHECK: slgfr %r15, %r0
0xb9 0x1b 0x00 0xf0
# CHECK: slgfr %r7, %r8
0xb9 0x1b 0x00 0x78
# CHECK: slgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x1b
# CHECK: slgf %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x1b
# CHECK: slgf %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x1b
# CHECK: slgf %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x1b
# CHECK: slgf %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x1b
# CHECK: slgf %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x1b
# CHECK: slgf %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x1b
# CHECK: slgf %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x1b
# CHECK: slgf %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x1b
# CHECK: slgf %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x1b
# CHECK: slgr %r0, %r0
0xb9 0x0b 0x00 0x00
# CHECK: slgr %r0, %r15
0xb9 0x0b 0x00 0x0f
# CHECK: slgr %r15, %r0
0xb9 0x0b 0x00 0xf0
# CHECK: slgr %r7, %r8
0xb9 0x0b 0x00 0x78
# CHECK: slgrk %r0, %r0, %r0
0xb9 0xeb 0x00 0x00
# CHECK: slgrk %r2, %r3, %r4
0xb9 0xeb 0x40 0x23
# CHECK: slg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x0b
# CHECK: slg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x0b
# CHECK: slg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x0b
# CHECK: slg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x0b
# CHECK: slg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x0b
# CHECK: slg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x0b
# CHECK: slg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x0b
# CHECK: slg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x0b
# CHECK: slg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x0b
# CHECK: slg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x0b
# CHECK: sllg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x0d
# CHECK: sllg %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0x0d
# CHECK: sllg %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0x0d
# CHECK: sllg %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x0d
# CHECK: sllg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x0d
# CHECK: sllg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x0d
# CHECK: sllg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x0d
# CHECK: sllg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x0d
# CHECK: sllg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x0d
# CHECK: sllg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x0d
# CHECK: sllg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x0d
# CHECK: sllg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x0d
# CHECK: sllk %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xdf
# CHECK: sllk %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0xdf
# CHECK: sllk %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0xdf
# CHECK: sllk %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0xdf
# CHECK: sllk %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xdf
# CHECK: sllk %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xdf
# CHECK: sllk %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xdf
# CHECK: sllk %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xdf
# CHECK: sllk %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xdf
# CHECK: sllk %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xdf
# CHECK: sllk %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xdf
# CHECK: sllk %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xdf
# CHECK: sll %r0, 0
0x89 0x00 0x00 0x00
# CHECK: sll %r7, 0
0x89 0x70 0x00 0x00
# CHECK: sll %r15, 0
0x89 0xf0 0x00 0x00
# CHECK: sll %r0, 4095
0x89 0x00 0x0f 0xff
# CHECK: sll %r0, 0(%r1)
0x89 0x00 0x10 0x00
# CHECK: sll %r0, 0(%r15)
0x89 0x00 0xf0 0x00
# CHECK: sll %r0, 4095(%r1)
0x89 0x00 0x1f 0xff
# CHECK: sll %r0, 4095(%r15)
0x89 0x00 0xff 0xff
# CHECK: slr %r0, %r0
0x1f 0x00
# CHECK: slr %r0, %r15
0x1f 0x0f
# CHECK: slr %r15, %r0
0x1f 0xf0
# CHECK: slr %r7, %r8
0x1f 0x78
# CHECK: slrk %r0, %r0, %r0
0xb9 0xfb 0x00 0x00
# CHECK: slrk %r2, %r3, %r4
0xb9 0xfb 0x40 0x23
# CHECK: sl %r0, 0
0x5f 0x00 0x00 0x00
# CHECK: sl %r0, 4095
0x5f 0x00 0x0f 0xff
# CHECK: sl %r0, 0(%r1)
0x5f 0x00 0x10 0x00
# CHECK: sl %r0, 0(%r15)
0x5f 0x00 0xf0 0x00
# CHECK: sl %r0, 4095(%r1,%r15)
0x5f 0x01 0xff 0xff
# CHECK: sl %r0, 4095(%r15,%r1)
0x5f 0x0f 0x1f 0xff
# CHECK: sl %r15, 0
0x5f 0xf0 0x00 0x00
# CHECK: sly %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5f
# CHECK: sly %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x5f
# CHECK: sly %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x5f
# CHECK: sly %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x5f
# CHECK: sly %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x5f
# CHECK: sly %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x5f
# CHECK: sly %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x5f
# CHECK: sly %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x5f
# CHECK: sly %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x5f
# CHECK: sly %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5f
# CHECK: sqdbr %f0, %f0
0xb3 0x15 0x00 0x00
# CHECK: sqdbr %f0, %f15
0xb3 0x15 0x00 0x0f
# CHECK: sqdbr %f7, %f8
0xb3 0x15 0x00 0x78
# CHECK: sqdbr %f15, %f0
0xb3 0x15 0x00 0xf0
# CHECK: sqdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x15
# CHECK: sqdb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x15
# CHECK: sqdb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x15
# CHECK: sqdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x15
# CHECK: sqdb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x15
# CHECK: sqdb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x15
# CHECK: sqdb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x15
# CHECK: sqebr %f0, %f0
0xb3 0x14 0x00 0x00
# CHECK: sqebr %f0, %f15
0xb3 0x14 0x00 0x0f
# CHECK: sqebr %f7, %f8
0xb3 0x14 0x00 0x78
# CHECK: sqebr %f15, %f0
0xb3 0x14 0x00 0xf0
# CHECK: sqeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x14
# CHECK: sqeb %f0, 4095
0xed 0x00 0x0f 0xff 0x00 0x14
# CHECK: sqeb %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x14
# CHECK: sqeb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x14
# CHECK: sqeb %f0, 4095(%r1,%r15)
0xed 0x01 0xff 0xff 0x00 0x14
# CHECK: sqeb %f0, 4095(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x00 0x14
# CHECK: sqeb %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x14
# CHECK: sqxbr %f0, %f0
0xb3 0x16 0x00 0x00
# CHECK: sqxbr %f0, %f13
0xb3 0x16 0x00 0x0d
# CHECK: sqxbr %f8, %f8
0xb3 0x16 0x00 0x88
# CHECK: sqxbr %f13, %f0
0xb3 0x16 0x00 0xd0
# CHECK: srag %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x0a
# CHECK: srag %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0x0a
# CHECK: srag %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0x0a
# CHECK: srag %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x0a
# CHECK: srag %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x0a
# CHECK: srag %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x0a
# CHECK: srag %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x0a
# CHECK: srag %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x0a
# CHECK: srag %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x0a
# CHECK: srag %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x0a
# CHECK: srag %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x0a
# CHECK: srag %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x0a
# CHECK: srak %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xdc
# CHECK: srak %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0xdc
# CHECK: srak %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0xdc
# CHECK: srak %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0xdc
# CHECK: srak %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xdc
# CHECK: srak %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xdc
# CHECK: srak %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xdc
# CHECK: srak %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xdc
# CHECK: srak %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xdc
# CHECK: srak %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xdc
# CHECK: srak %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xdc
# CHECK: srak %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xdc
# CHECK: sra %r0, 0
0x8a 0x00 0x00 0x00
# CHECK: sra %r7, 0
0x8a 0x70 0x00 0x00
# CHECK: sra %r15, 0
0x8a 0xf0 0x00 0x00
# CHECK: sra %r0, 4095
0x8a 0x00 0x0f 0xff
# CHECK: sra %r0, 0(%r1)
0x8a 0x00 0x10 0x00
# CHECK: sra %r0, 0(%r15)
0x8a 0x00 0xf0 0x00
# CHECK: sra %r0, 4095(%r1)
0x8a 0x00 0x1f 0xff
# CHECK: sra %r0, 4095(%r15)
0x8a 0x00 0xff 0xff
# CHECK: srlg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x0c
# CHECK: srlg %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0x0c
# CHECK: srlg %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0x0c
# CHECK: srlg %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x0c
# CHECK: srlg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x0c
# CHECK: srlg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x0c
# CHECK: srlg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x0c
# CHECK: srlg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x0c
# CHECK: srlg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x0c
# CHECK: srlg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x0c
# CHECK: srlg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x0c
# CHECK: srlg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x0c
# CHECK: srlk %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0xde
# CHECK: srlk %r15, %r1, 0
0xeb 0xf1 0x00 0x00 0x00 0xde
# CHECK: srlk %r1, %r15, 0
0xeb 0x1f 0x00 0x00 0x00 0xde
# CHECK: srlk %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0xde
# CHECK: srlk %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0xde
# CHECK: srlk %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0xde
# CHECK: srlk %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0xde
# CHECK: srlk %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0xde
# CHECK: srlk %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0xde
# CHECK: srlk %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0xde
# CHECK: srlk %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0xde
# CHECK: srlk %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0xde
# CHECK: srl %r0, 0
0x88 0x00 0x00 0x00
# CHECK: srl %r7, 0
0x88 0x70 0x00 0x00
# CHECK: srl %r15, 0
0x88 0xf0 0x00 0x00
# CHECK: srl %r0, 4095
0x88 0x00 0x0f 0xff
# CHECK: srl %r0, 0(%r1)
0x88 0x00 0x10 0x00
# CHECK: srl %r0, 0(%r15)
0x88 0x00 0xf0 0x00
# CHECK: srl %r0, 4095(%r1)
0x88 0x00 0x1f 0xff
# CHECK: srl %r0, 4095(%r15)
0x88 0x00 0xff 0xff
# CHECK: sr %r0, %r0
0x1b 0x00
# CHECK: sr %r0, %r15
0x1b 0x0f
# CHECK: sr %r15, %r0
0x1b 0xf0
# CHECK: sr %r7, %r8
0x1b 0x78
# CHECK: srk %r0, %r0, %r0
0xb9 0xf9 0x00 0x00
# CHECK: srk %r2, %r3, %r4
0xb9 0xf9 0x40 0x23
# CHECK: srst %r0, %r0
0xb2 0x5e 0x00 0x00
# CHECK: srst %r0, %r15
0xb2 0x5e 0x00 0x0f
# CHECK: srst %r15, %r0
0xb2 0x5e 0x00 0xf0
# CHECK: srst %r7, %r8
0xb2 0x5e 0x00 0x78
# CHECK: stc %r0, 0
0x42 0x00 0x00 0x00
# CHECK: stc %r0, 4095
0x42 0x00 0x0f 0xff
# CHECK: stc %r0, 0(%r1)
0x42 0x00 0x10 0x00
# CHECK: stc %r0, 0(%r15)
0x42 0x00 0xf0 0x00
# CHECK: stc %r0, 4095(%r1,%r15)
0x42 0x01 0xff 0xff
# CHECK: stc %r0, 4095(%r15,%r1)
0x42 0x0f 0x1f 0xff
# CHECK: stc %r15, 0
0x42 0xf0 0x00 0x00
# CHECK: stch %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc3
# CHECK: stch %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc3
# CHECK: stch %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc3
# CHECK: stch %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc3
# CHECK: stch %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc3
# CHECK: stch %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc3
# CHECK: stch %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc3
# CHECK: stch %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc3
# CHECK: stch %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc3
# CHECK: stch %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc3
# CHECK: stcy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x72
# CHECK: stcy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x72
# CHECK: stcy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x72
# CHECK: stcy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x72
# CHECK: stcy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x72
# CHECK: stcy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x72
# CHECK: stcy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x72
# CHECK: stcy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x72
# CHECK: stcy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x72
# CHECK: stcy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x72
# CHECK: std %f0, 0
0x60 0x00 0x00 0x00
# CHECK: std %f0, 4095
0x60 0x00 0x0f 0xff
# CHECK: std %f0, 0(%r1)
0x60 0x00 0x10 0x00
# CHECK: std %f0, 0(%r15)
0x60 0x00 0xf0 0x00
# CHECK: std %f0, 4095(%r1,%r15)
0x60 0x01 0xff 0xff
# CHECK: std %f0, 4095(%r15,%r1)
0x60 0x0f 0x1f 0xff
# CHECK: std %f15, 0
0x60 0xf0 0x00 0x00
# CHECK: stdy %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x67
# CHECK: stdy %f0, -1
0xed 0x00 0x0f 0xff 0xff 0x67
# CHECK: stdy %f0, 0
0xed 0x00 0x00 0x00 0x00 0x67
# CHECK: stdy %f0, 1
0xed 0x00 0x00 0x01 0x00 0x67
# CHECK: stdy %f0, 524287
0xed 0x00 0x0f 0xff 0x7f 0x67
# CHECK: stdy %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x67
# CHECK: stdy %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x67
# CHECK: stdy %f0, 524287(%r1,%r15)
0xed 0x01 0xff 0xff 0x7f 0x67
# CHECK: stdy %f0, 524287(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x7f 0x67
# CHECK: stdy %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x67
# CHECK: ste %f0, 0
0x70 0x00 0x00 0x00
# CHECK: ste %f0, 4095
0x70 0x00 0x0f 0xff
# CHECK: ste %f0, 0(%r1)
0x70 0x00 0x10 0x00
# CHECK: ste %f0, 0(%r15)
0x70 0x00 0xf0 0x00
# CHECK: ste %f0, 4095(%r1,%r15)
0x70 0x01 0xff 0xff
# CHECK: ste %f0, 4095(%r15,%r1)
0x70 0x0f 0x1f 0xff
# CHECK: ste %f15, 0
0x70 0xf0 0x00 0x00
# CHECK: stey %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x66
# CHECK: stey %f0, -1
0xed 0x00 0x0f 0xff 0xff 0x66
# CHECK: stey %f0, 0
0xed 0x00 0x00 0x00 0x00 0x66
# CHECK: stey %f0, 1
0xed 0x00 0x00 0x01 0x00 0x66
# CHECK: stey %f0, 524287
0xed 0x00 0x0f 0xff 0x7f 0x66
# CHECK: stey %f0, 0(%r1)
0xed 0x00 0x10 0x00 0x00 0x66
# CHECK: stey %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x66
# CHECK: stey %f0, 524287(%r1,%r15)
0xed 0x01 0xff 0xff 0x7f 0x66
# CHECK: stey %f0, 524287(%r15,%r1)
0xed 0x0f 0x1f 0xff 0x7f 0x66
# CHECK: stey %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x66
# CHECK: stg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x24
# CHECK: stg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x24
# CHECK: stg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x24
# CHECK: stg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x24
# CHECK: stg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x24
# CHECK: stg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x24
# CHECK: stg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x24
# CHECK: stg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x24
# CHECK: stg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x24
# CHECK: stg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x24
# CHECK: sth %r0, 0
0x40 0x00 0x00 0x00
# CHECK: sth %r0, 4095
0x40 0x00 0x0f 0xff
# CHECK: sth %r0, 0(%r1)
0x40 0x00 0x10 0x00
# CHECK: sth %r0, 0(%r15)
0x40 0x00 0xf0 0x00
# CHECK: sth %r0, 4095(%r1,%r15)
0x40 0x01 0xff 0xff
# CHECK: sth %r0, 4095(%r15,%r1)
0x40 0x0f 0x1f 0xff
# CHECK: sth %r15, 0
0x40 0xf0 0x00 0x00
# CHECK: sthh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xc7
# CHECK: sthh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xc7
# CHECK: sthh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xc7
# CHECK: sthh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xc7
# CHECK: sthh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xc7
# CHECK: sthh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xc7
# CHECK: sthh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xc7
# CHECK: sthh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xc7
# CHECK: sthh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xc7
# CHECK: sthh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xc7
# CHECK: stfh %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0xcb
# CHECK: stfh %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0xcb
# CHECK: stfh %r0, 0
0xe3 0x00 0x00 0x00 0x00 0xcb
# CHECK: stfh %r0, 1
0xe3 0x00 0x00 0x01 0x00 0xcb
# CHECK: stfh %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0xcb
# CHECK: stfh %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0xcb
# CHECK: stfh %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0xcb
# CHECK: stfh %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0xcb
# CHECK: stfh %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0xcb
# CHECK: stfh %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0xcb
# CHECK: sthy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x70
# CHECK: sthy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x70
# CHECK: sthy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x70
# CHECK: sthy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x70
# CHECK: sthy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x70
# CHECK: sthy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x70
# CHECK: sthy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x70
# CHECK: sthy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x70
# CHECK: sthy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x70
# CHECK: sthy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x70
# CHECK: stmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x24
# CHECK: stmg %r0, %r15, 0
0xeb 0x0f 0x00 0x00 0x00 0x24
# CHECK: stmg %r14, %r15, 0
0xeb 0xef 0x00 0x00 0x00 0x24
# CHECK: stmg %r15, %r15, 0
0xeb 0xff 0x00 0x00 0x00 0x24
# CHECK: stmg %r0, %r0, -524288
0xeb 0x00 0x00 0x00 0x80 0x24
# CHECK: stmg %r0, %r0, -1
0xeb 0x00 0x0f 0xff 0xff 0x24
# CHECK: stmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x24
# CHECK: stmg %r0, %r0, 1
0xeb 0x00 0x00 0x01 0x00 0x24
# CHECK: stmg %r0, %r0, 524287
0xeb 0x00 0x0f 0xff 0x7f 0x24
# CHECK: stmg %r0, %r0, 0(%r1)
0xeb 0x00 0x10 0x00 0x00 0x24
# CHECK: stmg %r0, %r0, 0(%r15)
0xeb 0x00 0xf0 0x00 0x00 0x24
# CHECK: stmg %r0, %r0, 524287(%r1)
0xeb 0x00 0x1f 0xff 0x7f 0x24
# CHECK: stmg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x24
# CHECK: strvg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x2f
# CHECK: strvg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x2f
# CHECK: strvg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x2f
# CHECK: strvg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x2f
# CHECK: strvg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x2f
# CHECK: strvg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x2f
# CHECK: strvg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x2f
# CHECK: strvg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x2f
# CHECK: strvg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x2f
# CHECK: strvg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x2f
# CHECK: strv %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x3e
# CHECK: strv %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x3e
# CHECK: strv %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x3e
# CHECK: strv %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x3e
# CHECK: strv %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x3e
# CHECK: strv %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x3e
# CHECK: strv %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x3e
# CHECK: strv %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x3e
# CHECK: strv %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x3e
# CHECK: strv %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x3e
# CHECK: st %r0, 0
0x50 0x00 0x00 0x00
# CHECK: st %r0, 4095
0x50 0x00 0x0f 0xff
# CHECK: st %r0, 0(%r1)
0x50 0x00 0x10 0x00
# CHECK: st %r0, 0(%r15)
0x50 0x00 0xf0 0x00
# CHECK: st %r0, 4095(%r1,%r15)
0x50 0x01 0xff 0xff
# CHECK: st %r0, 4095(%r15,%r1)
0x50 0x0f 0x1f 0xff
# CHECK: st %r15, 0
0x50 0xf0 0x00 0x00
# CHECK: stoc %r1, 2(%r3), 0
0xeb 0x10 0x30 0x02 0x00 0xf3
# CHECK: stoco %r1, 2(%r3)
0xeb 0x11 0x30 0x02 0x00 0xf3
# CHECK: stoch %r1, 2(%r3)
0xeb 0x12 0x30 0x02 0x00 0xf3
# CHECK: stocnle %r1, 2(%r3)
0xeb 0x13 0x30 0x02 0x00 0xf3
# CHECK: stocl %r1, 2(%r3)
0xeb 0x14 0x30 0x02 0x00 0xf3
# CHECK: stocnhe %r1, 2(%r3)
0xeb 0x15 0x30 0x02 0x00 0xf3
# CHECK: stoclh %r1, 2(%r3)
0xeb 0x16 0x30 0x02 0x00 0xf3
# CHECK: stocne %r1, 2(%r3)
0xeb 0x17 0x30 0x02 0x00 0xf3
# CHECK: stoce %r1, 2(%r3)
0xeb 0x18 0x30 0x02 0x00 0xf3
# CHECK: stocnlh %r1, 2(%r3)
0xeb 0x19 0x30 0x02 0x00 0xf3
# CHECK: stoche %r1, 2(%r3)
0xeb 0x1a 0x30 0x02 0x00 0xf3
# CHECK: stocnl %r1, 2(%r3)
0xeb 0x1b 0x30 0x02 0x00 0xf3
# CHECK: stocle %r1, 2(%r3)
0xeb 0x1c 0x30 0x02 0x00 0xf3
# CHECK: stocnh %r1, 2(%r3)
0xeb 0x1d 0x30 0x02 0x00 0xf3
# CHECK: stocno %r1, 2(%r3)
0xeb 0x1e 0x30 0x02 0x00 0xf3
# CHECK: stoc %r1, 2(%r3), 15
0xeb 0x1f 0x30 0x02 0x00 0xf3
# CHECK: stocg %r1, 2(%r3), 0
0xeb 0x10 0x30 0x02 0x00 0xe3
# CHECK: stocgo %r1, 2(%r3)
0xeb 0x11 0x30 0x02 0x00 0xe3
# CHECK: stocgh %r1, 2(%r3)
0xeb 0x12 0x30 0x02 0x00 0xe3
# CHECK: stocgnle %r1, 2(%r3)
0xeb 0x13 0x30 0x02 0x00 0xe3
# CHECK: stocgl %r1, 2(%r3)
0xeb 0x14 0x30 0x02 0x00 0xe3
# CHECK: stocgnhe %r1, 2(%r3)
0xeb 0x15 0x30 0x02 0x00 0xe3
# CHECK: stocglh %r1, 2(%r3)
0xeb 0x16 0x30 0x02 0x00 0xe3
# CHECK: stocgne %r1, 2(%r3)
0xeb 0x17 0x30 0x02 0x00 0xe3
# CHECK: stocge %r1, 2(%r3)
0xeb 0x18 0x30 0x02 0x00 0xe3
# CHECK: stocgnlh %r1, 2(%r3)
0xeb 0x19 0x30 0x02 0x00 0xe3
# CHECK: stocghe %r1, 2(%r3)
0xeb 0x1a 0x30 0x02 0x00 0xe3
# CHECK: stocgnl %r1, 2(%r3)
0xeb 0x1b 0x30 0x02 0x00 0xe3
# CHECK: stocgle %r1, 2(%r3)
0xeb 0x1c 0x30 0x02 0x00 0xe3
# CHECK: stocgnh %r1, 2(%r3)
0xeb 0x1d 0x30 0x02 0x00 0xe3
# CHECK: stocgno %r1, 2(%r3)
0xeb 0x1e 0x30 0x02 0x00 0xe3
# CHECK: stocg %r1, 2(%r3), 15
0xeb 0x1f 0x30 0x02 0x00 0xe3
# CHECK: s %r0, 0
0x5b 0x00 0x00 0x00
# CHECK: s %r0, 4095
0x5b 0x00 0x0f 0xff
# CHECK: s %r0, 0(%r1)
0x5b 0x00 0x10 0x00
# CHECK: s %r0, 0(%r15)
0x5b 0x00 0xf0 0x00
# CHECK: s %r0, 4095(%r1,%r15)
0x5b 0x01 0xff 0xff
# CHECK: s %r0, 4095(%r15,%r1)
0x5b 0x0f 0x1f 0xff
# CHECK: s %r15, 0
0x5b 0xf0 0x00 0x00
# CHECK: sty %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x50
# CHECK: sty %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x50
# CHECK: sty %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x50
# CHECK: sty %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x50
# CHECK: sty %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x50
# CHECK: sty %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x50
# CHECK: sty %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x50
# CHECK: sty %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x50
# CHECK: sty %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x50
# CHECK: sty %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x50
# CHECK: sxbr %f0, %f0
0xb3 0x4b 0x00 0x00
# CHECK: sxbr %f0, %f13
0xb3 0x4b 0x00 0x0d
# CHECK: sxbr %f8, %f8
0xb3 0x4b 0x00 0x88
# CHECK: sxbr %f13, %f0
0xb3 0x4b 0x00 0xd0
# CHECK: sy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5b
# CHECK: sy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x5b
# CHECK: sy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x5b
# CHECK: sy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x5b
# CHECK: sy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x5b
# CHECK: sy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x5b
# CHECK: sy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x5b
# CHECK: sy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x5b
# CHECK: sy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x5b
# CHECK: sy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5b
# CHECK: tabort 0
0xb2 0xfc 0x00 0x00
# CHECK: tabort 0(%r1)
0xb2 0xfc 0x10 0x00
# CHECK: tabort 0(%r15)
0xb2 0xfc 0xf0 0x00
# CHECK: tabort 4095
0xb2 0xfc 0x0f 0xff
# CHECK: tabort 4095(%r1)
0xb2 0xfc 0x1f 0xff
# CHECK: tabort 4095(%r15)
0xb2 0xfc 0xff 0xff
# CHECK: tbegin 0, 0
0xe5 0x60 0x00 0x00 0x00 0x00
# CHECK: tbegin 4095, 0
0xe5 0x60 0x0f 0xff 0x00 0x00
# CHECK: tbegin 0, 0
0xe5 0x60 0x00 0x00 0x00 0x00
# CHECK: tbegin 0, 1
0xe5 0x60 0x00 0x00 0x00 0x01
# CHECK: tbegin 0, 32767
0xe5 0x60 0x00 0x00 0x7f 0xff
# CHECK: tbegin 0, 32768
0xe5 0x60 0x00 0x00 0x80 0x00
# CHECK: tbegin 0, 65535
0xe5 0x60 0x00 0x00 0xff 0xff
# CHECK: tbegin 0(%r1), 42
0xe5 0x60 0x10 0x00 0x00 0x2a
# CHECK: tbegin 0(%r15), 42
0xe5 0x60 0xf0 0x00 0x00 0x2a
# CHECK: tbegin 4095(%r1), 42
0xe5 0x60 0x1f 0xff 0x00 0x2a
# CHECK: tbegin 4095(%r15), 42
0xe5 0x60 0xff 0xff 0x00 0x2a
# CHECK: tbeginc 0, 0
0xe5 0x61 0x00 0x00 0x00 0x00
# CHECK: tbeginc 4095, 0
0xe5 0x61 0x0f 0xff 0x00 0x00
# CHECK: tbeginc 0, 0
0xe5 0x61 0x00 0x00 0x00 0x00
# CHECK: tbeginc 0, 1
0xe5 0x61 0x00 0x00 0x00 0x01
# CHECK: tbeginc 0, 32767
0xe5 0x61 0x00 0x00 0x7f 0xff
# CHECK: tbeginc 0, 32768
0xe5 0x61 0x00 0x00 0x80 0x00
# CHECK: tbeginc 0, 65535
0xe5 0x61 0x00 0x00 0xff 0xff
# CHECK: tbeginc 0(%r1), 42
0xe5 0x61 0x10 0x00 0x00 0x2a
# CHECK: tbeginc 0(%r15), 42
0xe5 0x61 0xf0 0x00 0x00 0x2a
# CHECK: tbeginc 4095(%r1), 42
0xe5 0x61 0x1f 0xff 0x00 0x2a
# CHECK: tbeginc 4095(%r15), 42
0xe5 0x61 0xff 0xff 0x00 0x2a
# CHECK: tend
0xb2 0xf8 0x00 0x00
# CHECK: tm 0, 0
0x91 0x00 0x00 0x00
# CHECK: tm 4095, 0
0x91 0x00 0x0f 0xff
# CHECK: tm 0, 255
0x91 0xff 0x00 0x00
# CHECK: tm 0(%r1), 42
0x91 0x2a 0x10 0x00
# CHECK: tm 0(%r15), 42
0x91 0x2a 0xf0 0x00
# CHECK: tm 4095(%r1), 42
0x91 0x2a 0x1f 0xff
# CHECK: tm 4095(%r15), 42
0x91 0x2a 0xff 0xff
# CHECK: tmhh %r0, 0
0xa7 0x02 0x00 0x00
# CHECK: tmhh %r0, 32768
0xa7 0x02 0x80 0x00
# CHECK: tmhh %r0, 65535
0xa7 0x02 0xff 0xff
# CHECK: tmhh %r15, 0
0xa7 0xf2 0x00 0x00
# CHECK: tmhl %r0, 0
0xa7 0x03 0x00 0x00
# CHECK: tmhl %r0, 32768
0xa7 0x03 0x80 0x00
# CHECK: tmhl %r0, 65535
0xa7 0x03 0xff 0xff
# CHECK: tmhl %r15, 0
0xa7 0xf3 0x00 0x00
# CHECK: tmlh %r0, 0
0xa7 0x00 0x00 0x00
# CHECK: tmlh %r0, 32768
0xa7 0x00 0x80 0x00
# CHECK: tmlh %r0, 65535
0xa7 0x00 0xff 0xff
# CHECK: tmlh %r15, 0
0xa7 0xf0 0x00 0x00
# CHECK: tmll %r0, 0
0xa7 0x01 0x00 0x00
# CHECK: tmll %r0, 32768
0xa7 0x01 0x80 0x00
# CHECK: tmll %r0, 65535
0xa7 0x01 0xff 0xff
# CHECK: tmll %r15, 0
0xa7 0xf1 0x00 0x00
# CHECK: tmy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x51
# CHECK: tmy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x51
# CHECK: tmy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x51
# CHECK: tmy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x51
# CHECK: tmy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x51
# CHECK: tmy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x51
# CHECK: tmy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x51
# CHECK: tmy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x51
# CHECK: tmy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x51
# CHECK: tmy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x51
# CHECK: xc 0(1), 0
0xd7 0x00 0x00 0x00 0x00 0x00
# CHECK: xc 0(1), 0(%r1)
0xd7 0x00 0x00 0x00 0x10 0x00
# CHECK: xc 0(1), 0(%r15)
0xd7 0x00 0x00 0x00 0xf0 0x00
# CHECK: xc 0(1), 4095
0xd7 0x00 0x00 0x00 0x0f 0xff
# CHECK: xc 0(1), 4095(%r1)
0xd7 0x00 0x00 0x00 0x1f 0xff
# CHECK: xc 0(1), 4095(%r15)
0xd7 0x00 0x00 0x00 0xff 0xff
# CHECK: xc 0(1,%r1), 0
0xd7 0x00 0x10 0x00 0x00 0x00
# CHECK: xc 0(1,%r15), 0
0xd7 0x00 0xf0 0x00 0x00 0x00
# CHECK: xc 4095(1,%r1), 0
0xd7 0x00 0x1f 0xff 0x00 0x00
# CHECK: xc 4095(1,%r15), 0
0xd7 0x00 0xff 0xff 0x00 0x00
# CHECK: xc 0(256,%r1), 0
0xd7 0xff 0x10 0x00 0x00 0x00
# CHECK: xc 0(256,%r15), 0
0xd7 0xff 0xf0 0x00 0x00 0x00
# CHECK: xgr %r0, %r0
0xb9 0x82 0x00 0x00
# CHECK: xgr %r0, %r15
0xb9 0x82 0x00 0x0f
# CHECK: xgr %r15, %r0
0xb9 0x82 0x00 0xf0
# CHECK: xgr %r7, %r8
0xb9 0x82 0x00 0x78
# CHECK: xgrk %r0, %r0, %r0
0xb9 0xe7 0x00 0x00
# CHECK: xgrk %r2, %r3, %r4
0xb9 0xe7 0x40 0x23
# CHECK: xg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x82
# CHECK: xg %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x82
# CHECK: xg %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x82
# CHECK: xg %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x82
# CHECK: xg %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x82
# CHECK: xg %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x82
# CHECK: xg %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x82
# CHECK: xg %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x82
# CHECK: xg %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x82
# CHECK: xg %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x82
# CHECK: xihf %r0, 0
0xc0 0x06 0x00 0x00 0x00 0x00
# CHECK: xihf %r0, 4294967295
0xc0 0x06 0xff 0xff 0xff 0xff
# CHECK: xihf %r15, 0
0xc0 0xf6 0x00 0x00 0x00 0x00
# CHECK: xilf %r0, 0
0xc0 0x07 0x00 0x00 0x00 0x00
# CHECK: xilf %r0, 4294967295
0xc0 0x07 0xff 0xff 0xff 0xff
# CHECK: xilf %r15, 0
0xc0 0xf7 0x00 0x00 0x00 0x00
# CHECK: xi 0, 0
0x97 0x00 0x00 0x00
# CHECK: xi 4095, 0
0x97 0x00 0x0f 0xff
# CHECK: xi 0, 255
0x97 0xff 0x00 0x00
# CHECK: xi 0(%r1), 42
0x97 0x2a 0x10 0x00
# CHECK: xi 0(%r15), 42
0x97 0x2a 0xf0 0x00
# CHECK: xi 4095(%r1), 42
0x97 0x2a 0x1f 0xff
# CHECK: xi 4095(%r15), 42
0x97 0x2a 0xff 0xff
# CHECK: xiy -524288, 0
0xeb 0x00 0x00 0x00 0x80 0x57
# CHECK: xiy -1, 0
0xeb 0x00 0x0f 0xff 0xff 0x57
# CHECK: xiy 0, 0
0xeb 0x00 0x00 0x00 0x00 0x57
# CHECK: xiy 1, 0
0xeb 0x00 0x00 0x01 0x00 0x57
# CHECK: xiy 524287, 0
0xeb 0x00 0x0f 0xff 0x7f 0x57
# CHECK: xiy 0, 255
0xeb 0xff 0x00 0x00 0x00 0x57
# CHECK: xiy 0(%r1), 42
0xeb 0x2a 0x10 0x00 0x00 0x57
# CHECK: xiy 0(%r15), 42
0xeb 0x2a 0xf0 0x00 0x00 0x57
# CHECK: xiy 524287(%r1), 42
0xeb 0x2a 0x1f 0xff 0x7f 0x57
# CHECK: xiy 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x57
# CHECK: xr %r0, %r0
0x17 0x00
# CHECK: xr %r0, %r15
0x17 0x0f
# CHECK: xr %r15, %r0
0x17 0xf0
# CHECK: xr %r7, %r8
0x17 0x78
# CHECK: xrk %r0, %r0, %r0
0xb9 0xf7 0x00 0x00
# CHECK: xrk %r2, %r3, %r4
0xb9 0xf7 0x40 0x23
# CHECK: x %r0, 0
0x57 0x00 0x00 0x00
# CHECK: x %r0, 4095
0x57 0x00 0x0f 0xff
# CHECK: x %r0, 0(%r1)
0x57 0x00 0x10 0x00
# CHECK: x %r0, 0(%r15)
0x57 0x00 0xf0 0x00
# CHECK: x %r0, 4095(%r1,%r15)
0x57 0x01 0xff 0xff
# CHECK: x %r0, 4095(%r15,%r1)
0x57 0x0f 0x1f 0xff
# CHECK: x %r15, 0
0x57 0xf0 0x00 0x00
# CHECK: xy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x57
# CHECK: xy %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x57
# CHECK: xy %r0, 0
0xe3 0x00 0x00 0x00 0x00 0x57
# CHECK: xy %r0, 1
0xe3 0x00 0x00 0x01 0x00 0x57
# CHECK: xy %r0, 524287
0xe3 0x00 0x0f 0xff 0x7f 0x57
# CHECK: xy %r0, 0(%r1)
0xe3 0x00 0x10 0x00 0x00 0x57
# CHECK: xy %r0, 0(%r15)
0xe3 0x00 0xf0 0x00 0x00 0x57
# CHECK: xy %r0, 524287(%r1,%r15)
0xe3 0x01 0xff 0xff 0x7f 0x57
# CHECK: xy %r0, 524287(%r15,%r1)
0xe3 0x0f 0x1f 0xff 0x7f 0x57
# CHECK: xy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x57