[llvm] r304202 - [SystemZ] Add hexadecimal floating-point instructions
Ulrich Weigand via llvm-commits
llvm-commits at lists.llvm.org
Tue May 30 03:13:23 PDT 2017
Author: uweigand
Date: Tue May 30 05:13:23 2017
New Revision: 304202
URL: http://llvm.org/viewvc/llvm-project?rev=304202&view=rev
Log:
[SystemZ] Add hexadecimal floating-point instructions
This adds assembler / disassembler support for the hexadecimal
floating-point instructions. Since the Linux ABI does not use
any hex float data types, these are not useful for codegen.
Added:
llvm/trunk/lib/Target/SystemZ/SystemZInstrHFP.td
Modified:
llvm/trunk/lib/Target/SystemZ/SystemZ.td
llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td
llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td
llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ13.td
llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ196.td
llvm/trunk/lib/Target/SystemZ/SystemZScheduleZEC12.td
llvm/trunk/test/MC/Disassembler/SystemZ/insns.txt
llvm/trunk/test/MC/SystemZ/insn-bad.s
llvm/trunk/test/MC/SystemZ/insn-good.s
Modified: llvm/trunk/lib/Target/SystemZ/SystemZ.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZ.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZ.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZ.td Tue May 30 05:13:23 2017
@@ -54,6 +54,7 @@ include "SystemZInstrFormats.td"
include "SystemZInstrInfo.td"
include "SystemZInstrVector.td"
include "SystemZInstrFP.td"
+include "SystemZInstrHFP.td"
def SystemZInstrInfo : InstrInfo {}
Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrFP.td Tue May 30 05:13:23 2017
@@ -121,7 +121,8 @@ let canFoldAsLoad = 1, SimpleBDXLoad = 1
defm LD : UnaryRXPair<"ld", 0x68, 0xED65, load, FP64, 8>;
// For z13 we prefer LDE over LE to avoid partial register dependencies.
- def LDE32 : UnaryRXE<"lde", 0xED24, null_frag, FP32, 4>;
+ let isCodeGenOnly = 1 in
+ def LDE32 : UnaryRXE<"lde", 0xED24, null_frag, FP32, 4>;
// These instructions are split after register allocation, so we don't
// want a custom inserter.
@@ -437,18 +438,18 @@ def : Pat<(fmul (f128 (fpextend FP64:$sr
bdxaddr12only:$addr)>;
// Fused multiply-add.
-def MAEBR : TernaryRRD<"maebr", 0xB30E, z_fma, FP32>;
-def MADBR : TernaryRRD<"madbr", 0xB31E, z_fma, FP64>;
+def MAEBR : TernaryRRD<"maebr", 0xB30E, z_fma, FP32, FP32>;
+def MADBR : TernaryRRD<"madbr", 0xB31E, z_fma, FP64, FP64>;
-def MAEB : TernaryRXF<"maeb", 0xED0E, z_fma, FP32, load, 4>;
-def MADB : TernaryRXF<"madb", 0xED1E, z_fma, FP64, load, 8>;
+def MAEB : TernaryRXF<"maeb", 0xED0E, z_fma, FP32, FP32, load, 4>;
+def MADB : TernaryRXF<"madb", 0xED1E, z_fma, FP64, FP64, load, 8>;
// Fused multiply-subtract.
-def MSEBR : TernaryRRD<"msebr", 0xB30F, z_fms, FP32>;
-def MSDBR : TernaryRRD<"msdbr", 0xB31F, z_fms, FP64>;
+def MSEBR : TernaryRRD<"msebr", 0xB30F, z_fms, FP32, FP32>;
+def MSDBR : TernaryRRD<"msdbr", 0xB31F, z_fms, FP64, FP64>;
-def MSEB : TernaryRXF<"mseb", 0xED0F, z_fms, FP32, load, 4>;
-def MSDB : TernaryRXF<"msdb", 0xED1F, z_fms, FP64, load, 8>;
+def MSEB : TernaryRXF<"mseb", 0xED0F, z_fms, FP32, FP32, load, 4>;
+def MSDB : TernaryRXF<"msdb", 0xED1F, z_fms, FP64, FP64, load, 8>;
// Division.
def DEBR : BinaryRRE<"debr", 0xB30D, fdiv, FP32, FP32>;
Modified: llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td Tue May 30 05:13:23 2017
@@ -2752,6 +2752,15 @@ class BinaryRRE<string mnemonic, bits<16
let DisableEncoding = "$R1src";
}
+class BinaryRRD<string mnemonic, bits<16> opcode, SDPatternOperator operator,
+ RegisterOperand cls1, RegisterOperand cls2>
+ : InstRRD<opcode, (outs cls1:$R1), (ins cls2:$R3, cls2:$R2),
+ mnemonic#"\t$R1, $R3, $R2",
+ [(set cls1:$R1, (operator cls2:$R3, cls2:$R2))]> {
+ let OpKey = mnemonic#cls;
+ let OpType = "reg";
+}
+
class BinaryRRFa<string mnemonic, bits<16> opcode, SDPatternOperator operator,
RegisterOperand cls1, RegisterOperand cls2,
RegisterOperand cls3>
@@ -2987,6 +2996,18 @@ class BinaryRXE<string mnemonic, bits<16
let M3 = 0;
}
+class BinaryRXF<string mnemonic, bits<16> opcode, SDPatternOperator operator,
+ RegisterOperand cls1, RegisterOperand cls2,
+ SDPatternOperator load, bits<5> bytes>
+ : InstRXF<opcode, (outs cls1:$R1), (ins cls2:$R3, bdxaddr12only:$XBD2),
+ mnemonic#"\t$R1, $R3, $XBD2",
+ [(set cls1:$R1, (operator cls2:$R3, (load bdxaddr12only:$XBD2)))]> {
+ let OpKey = mnemonic#"r"#cls;
+ let OpType = "mem";
+ let mayLoad = 1;
+ let AccessBytes = bytes;
+}
+
class BinaryRXY<string mnemonic, bits<16> opcode, SDPatternOperator operator,
RegisterOperand cls, SDPatternOperator load, bits<5> bytes,
AddressingMode mode = bdxaddr20only>
@@ -3597,11 +3618,11 @@ class TernaryRRFe<string mnemonic, bits<
(ins imm32zx4:$M3, cls2:$R2, imm32zx4:$M4),
mnemonic#"\t$R1, $M3, $R2, $M4", []>;
-class TernaryRRD<string mnemonic, bits<16> opcode,
- SDPatternOperator operator, RegisterOperand cls>
- : InstRRD<opcode, (outs cls:$R1), (ins cls:$R1src, cls:$R3, cls:$R2),
+class TernaryRRD<string mnemonic, bits<16> opcode, SDPatternOperator operator,
+ RegisterOperand cls1, RegisterOperand cls2>
+ : InstRRD<opcode, (outs cls1:$R1), (ins cls2:$R1src, cls2:$R3, cls2:$R2),
mnemonic#"\t$R1, $R3, $R2",
- [(set cls:$R1, (operator cls:$R1src, cls:$R3, cls:$R2))]> {
+ [(set cls1:$R1, (operator cls2:$R1src, cls2:$R3, cls2:$R2))]> {
let OpKey = mnemonic#cls;
let OpType = "reg";
let Constraints = "$R1 = $R1src";
@@ -3661,12 +3682,13 @@ class SideEffectTernaryMemMemRSY<string
}
class TernaryRXF<string mnemonic, bits<16> opcode, SDPatternOperator operator,
- RegisterOperand cls, SDPatternOperator load, bits<5> bytes>
- : InstRXF<opcode, (outs cls:$R1),
- (ins cls:$R1src, cls:$R3, bdxaddr12only:$XBD2),
+ RegisterOperand cls1, RegisterOperand cls2,
+ SDPatternOperator load, bits<5> bytes>
+ : InstRXF<opcode, (outs cls1:$R1),
+ (ins cls2:$R1src, cls2:$R3, bdxaddr12only:$XBD2),
mnemonic#"\t$R1, $R3, $XBD2",
- [(set cls:$R1, (operator cls:$R1src, cls:$R3,
- (load bdxaddr12only:$XBD2)))]> {
+ [(set cls1:$R1, (operator cls2:$R1src, cls2:$R3,
+ (load bdxaddr12only:$XBD2)))]> {
let OpKey = mnemonic#"r"#cls;
let OpType = "mem";
let Constraints = "$R1 = $R1src";
Added: llvm/trunk/lib/Target/SystemZ/SystemZInstrHFP.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZInstrHFP.td?rev=304202&view=auto
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZInstrHFP.td (added)
+++ llvm/trunk/lib/Target/SystemZ/SystemZInstrHFP.td Tue May 30 05:13:23 2017
@@ -0,0 +1,240 @@
+//==- SystemZInstrHFP.td - Floating-point SystemZ instructions -*- tblgen-*-==//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// The instructions in this file implement SystemZ hexadecimal floating-point
+// arithmetic. Since this format is not mapped to any source-language data
+// type, these instructions are not used for code generation, but are provided
+// for use with the assembler and disassembler only.
+//
+//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+// Move instructions
+//===----------------------------------------------------------------------===//
+
+// Load and test.
+let Defs = [CC] in {
+ def LTER : UnaryRR <"lter", 0x32, null_frag, FP32, FP32>;
+ def LTDR : UnaryRR <"ltdr", 0x22, null_frag, FP64, FP64>;
+ def LTXR : UnaryRRE<"ltxr", 0xB362, null_frag, FP128, FP128>;
+}
+
+//===----------------------------------------------------------------------===//
+// Conversion instructions
+//===----------------------------------------------------------------------===//
+
+// Convert floating-point values to narrower representations.
+def LEDR : UnaryRR <"ledr", 0x35, null_frag, FP32, FP64>;
+def LEXR : UnaryRRE<"lexr", 0xB366, null_frag, FP32, FP128>;
+def LDXR : UnaryRR <"ldxr", 0x25, null_frag, FP64, FP128>;
+let isAsmParserOnly = 1 in {
+ def LRER : UnaryRR <"lrer", 0x35, null_frag, FP32, FP64>;
+ def LRDR : UnaryRR <"lrdr", 0x25, null_frag, FP64, FP128>;
+}
+
+// Extend floating-point values to wider representations.
+def LDER : UnaryRRE<"lder", 0xB324, null_frag, FP64, FP32>;
+def LXER : UnaryRRE<"lxer", 0xB326, null_frag, FP128, FP32>;
+def LXDR : UnaryRRE<"lxdr", 0xB325, null_frag, FP128, FP64>;
+
+def LDE : UnaryRXE<"lde", 0xED24, null_frag, FP64, 4>;
+def LXE : UnaryRXE<"lxe", 0xED26, null_frag, FP128, 4>;
+def LXD : UnaryRXE<"lxd", 0xED25, null_frag, FP128, 8>;
+
+// Convert a signed integer register value to a floating-point one.
+def CEFR : UnaryRRE<"cefr", 0xB3B4, null_frag, FP32, GR32>;
+def CDFR : UnaryRRE<"cdfr", 0xB3B5, null_frag, FP64, GR32>;
+def CXFR : UnaryRRE<"cxfr", 0xB3B6, null_frag, FP128, GR32>;
+
+def CEGR : UnaryRRE<"cegr", 0xB3C4, null_frag, FP32, GR64>;
+def CDGR : UnaryRRE<"cdgr", 0xB3C5, null_frag, FP64, GR64>;
+def CXGR : UnaryRRE<"cxgr", 0xB3C6, null_frag, FP128, GR64>;
+
+// Convert a floating-point register value to a signed integer value,
+// with the second operand (modifier M3) specifying the rounding mode.
+let Defs = [CC] in {
+ def CFER : BinaryRRFe<"cfer", 0xB3B8, GR32, FP32>;
+ def CFDR : BinaryRRFe<"cfdr", 0xB3B9, GR32, FP64>;
+ def CFXR : BinaryRRFe<"cfxr", 0xB3BA, GR32, FP128>;
+
+ def CGER : BinaryRRFe<"cger", 0xB3C8, GR64, FP32>;
+ def CGDR : BinaryRRFe<"cgdr", 0xB3C9, GR64, FP64>;
+ def CGXR : BinaryRRFe<"cgxr", 0xB3CA, GR64, FP128>;
+}
+
+// Convert BFP to HFP.
+let Defs = [CC] in {
+ def THDER : UnaryRRE<"thder", 0xB358, null_frag, FP64, FP32>;
+ def THDR : UnaryRRE<"thdr", 0xB359, null_frag, FP64, FP64>;
+}
+
+// Convert HFP to BFP.
+let Defs = [CC] in {
+ def TBEDR : BinaryRRFe<"tbedr", 0xB350, FP32, FP64>;
+ def TBDR : BinaryRRFe<"tbdr", 0xB351, FP64, FP64>;
+}
+
+
+//===----------------------------------------------------------------------===//
+// Unary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Negation (Load Complement).
+let Defs = [CC] in {
+ def LCER : UnaryRR <"lcer", 0x33, null_frag, FP32, FP32>;
+ def LCDR : UnaryRR <"lcdr", 0x23, null_frag, FP64, FP64>;
+ def LCXR : UnaryRRE<"lcxr", 0xB363, null_frag, FP128, FP128>;
+}
+
+// Absolute value (Load Positive).
+let Defs = [CC] in {
+ def LPER : UnaryRR <"lper", 0x30, null_frag, FP32, FP32>;
+ def LPDR : UnaryRR <"lpdr", 0x20, null_frag, FP64, FP64>;
+ def LPXR : UnaryRRE<"lpxr", 0xB360, null_frag, FP128, FP128>;
+}
+
+// Negative absolute value (Load Negative).
+let Defs = [CC] in {
+ def LNER : UnaryRR <"lner", 0x31, null_frag, FP32, FP32>;
+ def LNDR : UnaryRR <"lndr", 0x21, null_frag, FP64, FP64>;
+ def LNXR : UnaryRRE<"lnxr", 0xB361, null_frag, FP128, FP128>;
+}
+
+// Halve.
+def HER : UnaryRR <"her", 0x34, null_frag, FP32, FP32>;
+def HDR : UnaryRR <"hdr", 0x24, null_frag, FP64, FP64>;
+
+// Square root.
+def SQER : UnaryRRE<"sqer", 0xB245, null_frag, FP32, FP32>;
+def SQDR : UnaryRRE<"sqdr", 0xB244, null_frag, FP64, FP64>;
+def SQXR : UnaryRRE<"sqxr", 0xB336, null_frag, FP128, FP128>;
+
+def SQE : UnaryRXE<"sqe", 0xED34, null_frag, FP32, 4>;
+def SQD : UnaryRXE<"sqd", 0xED35, null_frag, FP64, 8>;
+
+// Round to an integer (rounding towards zero).
+def FIER : UnaryRRE<"fier", 0xB377, null_frag, FP32, FP32>;
+def FIDR : UnaryRRE<"fidr", 0xB37F, null_frag, FP64, FP64>;
+def FIXR : UnaryRRE<"fixr", 0xB367, null_frag, FP128, FP128>;
+
+
+//===----------------------------------------------------------------------===//
+// Binary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Addition.
+let Defs = [CC] in {
+ let isCommutable = 1 in {
+ def AER : BinaryRR<"aer", 0x3A, null_frag, FP32, FP32>;
+ def ADR : BinaryRR<"adr", 0x2A, null_frag, FP64, FP64>;
+ def AXR : BinaryRR<"axr", 0x36, null_frag, FP128, FP128>;
+ }
+ def AE : BinaryRX<"ae", 0x7A, null_frag, FP32, load, 4>;
+ def AD : BinaryRX<"ad", 0x6A, null_frag, FP64, load, 8>;
+}
+
+// Addition (unnormalized).
+let Defs = [CC] in {
+ let isCommutable = 1 in {
+ def AUR : BinaryRR<"aur", 0x3E, null_frag, FP32, FP32>;
+ def AWR : BinaryRR<"awr", 0x2E, null_frag, FP64, FP64>;
+ }
+ def AU : BinaryRX<"au", 0x7E, null_frag, FP32, load, 4>;
+ def AW : BinaryRX<"aw", 0x6E, null_frag, FP64, load, 8>;
+}
+
+// Subtraction.
+let Defs = [CC] in {
+ def SER : BinaryRR<"ser", 0x3B, null_frag, FP32, FP32>;
+ def SDR : BinaryRR<"sdr", 0x2B, null_frag, FP64, FP64>;
+ def SXR : BinaryRR<"sxr", 0x37, null_frag, FP128, FP128>;
+
+ def SE : BinaryRX<"se", 0x7B, null_frag, FP32, load, 4>;
+ def SD : BinaryRX<"sd", 0x6B, null_frag, FP64, load, 8>;
+}
+
+// Subtraction (unnormalized).
+let Defs = [CC] in {
+ def SUR : BinaryRR<"sur", 0x3F, null_frag, FP32, FP32>;
+ def SWR : BinaryRR<"swr", 0x2F, null_frag, FP64, FP64>;
+
+ def SU : BinaryRX<"su", 0x7F, null_frag, FP32, load, 4>;
+ def SW : BinaryRX<"sw", 0x6F, null_frag, FP64, load, 8>;
+}
+
+// Multiplication.
+let isCommutable = 1 in {
+ def MEER : BinaryRRE<"meer", 0xB337, null_frag, FP32, FP32>;
+ def MDR : BinaryRR <"mdr", 0x2C, null_frag, FP64, FP64>;
+ def MXR : BinaryRR <"mxr", 0x26, null_frag, FP128, FP128>;
+}
+def MEE : BinaryRXE<"mee", 0xED37, null_frag, FP32, load, 4>;
+def MD : BinaryRX <"md", 0x6C, null_frag, FP64, load, 8>;
+
+// Extending multiplication (f32 x f32 -> f64).
+def MDER : BinaryRR<"mder", 0x3C, null_frag, FP64, FP32>;
+def MDE : BinaryRX<"mde", 0x7C, null_frag, FP64, load, 4>;
+let isAsmParserOnly = 1 in {
+ def MER : BinaryRR<"mer", 0x3C, null_frag, FP64, FP32>;
+ def ME : BinaryRX<"me", 0x7C, null_frag, FP64, load, 4>;
+}
+
+// Extending multiplication (f64 x f64 -> f128).
+def MXDR : BinaryRR<"mxdr", 0x27, null_frag, FP128, FP64>;
+def MXD : BinaryRX<"mxd", 0x67, null_frag, FP128, load, 8>;
+
+// Fused multiply-add.
+def MAER : TernaryRRD<"maer", 0xB32E, null_frag, FP32, FP32>;
+def MADR : TernaryRRD<"madr", 0xB33E, null_frag, FP64, FP64>;
+def MAE : TernaryRXF<"mae", 0xED2E, null_frag, FP32, FP32, load, 4>;
+def MAD : TernaryRXF<"mad", 0xED3E, null_frag, FP64, FP64, load, 8>;
+
+// Fused multiply-subtract.
+def MSER : TernaryRRD<"mser", 0xB32F, null_frag, FP32, FP32>;
+def MSDR : TernaryRRD<"msdr", 0xB33F, null_frag, FP64, FP64>;
+def MSE : TernaryRXF<"mse", 0xED2F, null_frag, FP32, FP32, load, 4>;
+def MSD : TernaryRXF<"msd", 0xED3F, null_frag, FP64, FP64, load, 8>;
+
+// Multiplication (unnormalized).
+def MYR : BinaryRRD<"myr", 0xB33B, null_frag, FP128, FP64>;
+def MYHR : BinaryRRD<"myhr", 0xB33D, null_frag, FP64, FP64>;
+def MYLR : BinaryRRD<"mylr", 0xB339, null_frag, FP64, FP64>;
+def MY : BinaryRXF<"my", 0xED3B, null_frag, FP128, FP64, load, 8>;
+def MYH : BinaryRXF<"myh", 0xED3D, null_frag, FP64, FP64, load, 8>;
+def MYL : BinaryRXF<"myl", 0xED39, null_frag, FP64, FP64, load, 8>;
+
+// Fused multiply-add (unnormalized).
+def MAYR : TernaryRRD<"mayr", 0xB33A, null_frag, FP128, FP64>;
+def MAYHR : TernaryRRD<"mayhr", 0xB33C, null_frag, FP64, FP64>;
+def MAYLR : TernaryRRD<"maylr", 0xB338, null_frag, FP64, FP64>;
+def MAY : TernaryRXF<"may", 0xED3A, null_frag, FP128, FP64, load, 8>;
+def MAYH : TernaryRXF<"mayh", 0xED3C, null_frag, FP64, FP64, load, 8>;
+def MAYL : TernaryRXF<"mayl", 0xED38, null_frag, FP64, FP64, load, 8>;
+
+// Division.
+def DER : BinaryRR <"der", 0x3D, null_frag, FP32, FP32>;
+def DDR : BinaryRR <"ddr", 0x2D, null_frag, FP64, FP64>;
+def DXR : BinaryRRE<"dxr", 0xB22D, null_frag, FP128, FP128>;
+def DE : BinaryRX <"de", 0x7D, null_frag, FP32, load, 4>;
+def DD : BinaryRX <"dd", 0x6D, null_frag, FP64, load, 8>;
+
+
+//===----------------------------------------------------------------------===//
+// Comparisons
+//===----------------------------------------------------------------------===//
+
+let Defs = [CC] in {
+ def CER : CompareRR <"cer", 0x39, null_frag, FP32, FP32>;
+ def CDR : CompareRR <"cdr", 0x29, null_frag, FP64, FP64>;
+ def CXR : CompareRRE<"cxr", 0xB369, null_frag, FP128, FP128>;
+
+ def CE : CompareRX<"ce", 0x79, null_frag, FP32, load, 4>;
+ def CD : CompareRX<"cd", 0x69, null_frag, FP64, load, 8>;
+}
+
Modified: llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ13.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ13.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ13.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ13.td Tue May 30 05:13:23 2017
@@ -908,6 +908,114 @@ def : InstRW<[FXa, Lat30, GroupAlone], (
def : InstRW<[FXa, LSU, Lat30, GroupAlone], (instregex "LFAS$")>;
def : InstRW<[FXb, Lat3, GroupAlone], (instregex "SRNM(B|T)?$")>;
+
+// --------------------- Hexadecimal floating point ------------------------- //
+
+//===----------------------------------------------------------------------===//
+// HFP: Move instructions
+//===----------------------------------------------------------------------===//
+
+// Load and Test
+def : InstRW<[VecXsPm, Lat4], (instregex "LT(D|E)R$")>;
+def : InstRW<[VecDF2, VecDF2, Lat11, GroupAlone], (instregex "LTXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Conversion instructions
+//===----------------------------------------------------------------------===//
+
+// Load rounded
+def : InstRW<[VecBF], (instregex "(LEDR|LRER)$")>;
+def : InstRW<[VecBF], (instregex "LEXR$")>;
+def : InstRW<[VecDF2, VecDF2], (instregex "(LDXR|LRDR)$")>;
+
+// Load lengthened
+def : InstRW<[LSU], (instregex "LDE$")>;
+def : InstRW<[FXb], (instregex "LDER$")>;
+def : InstRW<[VecBF2, VecBF2, LSU, Lat12, GroupAlone], (instregex "LX(D|E)$")>;
+def : InstRW<[VecBF2, VecBF2, GroupAlone], (instregex "LX(D|E)R$")>;
+
+// Convert from fixed
+def : InstRW<[FXb, VecBF, Lat9, BeginGroup], (instregex "CE(F|G)R$")>;
+def : InstRW<[FXb, VecBF, Lat9, BeginGroup], (instregex "CD(F|G)R$")>;
+def : InstRW<[FXb, VecDF2, VecDF2, Lat12, GroupAlone], (instregex "CX(F|G)R$")>;
+
+// Convert to fixed
+def : InstRW<[FXb, VecBF, Lat11, BeginGroup], (instregex "CF(E|D)R$")>;
+def : InstRW<[FXb, VecBF, Lat11, BeginGroup], (instregex "CG(E|D)R$")>;
+def : InstRW<[FXb, VecDF, VecDF, Lat20, BeginGroup], (instregex "C(F|G)XR$")>;
+
+// Convert BFP to HFP / HFP to BFP.
+def : InstRW<[VecBF], (instregex "THD(E)?R$")>;
+def : InstRW<[VecBF], (instregex "TB(E)?DR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Unary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Load Complement / Negative / Positive
+def : InstRW<[VecXsPm, Lat4], (instregex "L(C|N|P)DR$")>;
+def : InstRW<[VecXsPm, Lat4], (instregex "L(C|N|P)ER$")>;
+def : InstRW<[VecDF2, VecDF2, Lat11, GroupAlone], (instregex "L(C|N|P)XR$")>;
+
+// Halve
+def : InstRW<[VecBF], (instregex "H(E|D)R$")>;
+
+// Square root
+def : InstRW<[VecFPd, LSU], (instregex "SQ(E|D)$")>;
+def : InstRW<[VecFPd], (instregex "SQ(E|D)R$")>;
+def : InstRW<[VecFPd, VecFPd, GroupAlone], (instregex "SQXR$")>;
+
+// Load FP integer
+def : InstRW<[VecBF], (instregex "FIER$")>;
+def : InstRW<[VecBF], (instregex "FIDR$")>;
+def : InstRW<[VecDF2, VecDF2, Lat11, GroupAlone], (instregex "FIXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Binary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Addition
+def : InstRW<[VecBF, LSU, Lat12], (instregex "A(E|D|U|W)$")>;
+def : InstRW<[VecBF], (instregex "A(E|D|U|W)R$")>;
+def : InstRW<[VecDF2, VecDF2, Lat11, GroupAlone], (instregex "AXR$")>;
+
+// Subtraction
+def : InstRW<[VecBF, LSU, Lat12], (instregex "S(E|D|U|W)$")>;
+def : InstRW<[VecBF], (instregex "S(E|D|U|W)R$")>;
+def : InstRW<[VecDF2, VecDF2, Lat11, GroupAlone], (instregex "SXR$")>;
+
+// Multiply
+def : InstRW<[VecBF, LSU, Lat12], (instregex "M(D|DE|E|EE)$")>;
+def : InstRW<[VecBF], (instregex "M(D|DE|E|EE)R$")>;
+def : InstRW<[VecBF2, VecBF2, LSU, Lat12, GroupAlone], (instregex "MXD$")>;
+def : InstRW<[VecBF2, VecBF2, GroupAlone], (instregex "MXDR$")>;
+def : InstRW<[VecDF2, VecDF2, Lat20, GroupAlone], (instregex "MXR$")>;
+def : InstRW<[VecBF2, VecBF2, LSU, Lat12, GroupAlone], (instregex "MY(H|L)?$")>;
+def : InstRW<[VecBF2, VecBF2, GroupAlone], (instregex "MY(H|L)?R$")>;
+
+// Multiply and add / subtract
+def : InstRW<[VecBF, LSU, Lat12, GroupAlone], (instregex "M(A|S)E$")>;
+def : InstRW<[VecBF, GroupAlone], (instregex "M(A|S)ER$")>;
+def : InstRW<[VecBF, LSU, Lat12, GroupAlone], (instregex "M(A|S)D$")>;
+def : InstRW<[VecBF], (instregex "M(A|S)DR$")>;
+def : InstRW<[VecBF2, VecBF2, LSU, Lat12, GroupAlone], (instregex "MAY(H|L)?$")>;
+def : InstRW<[VecBF2, VecBF2, GroupAlone], (instregex "MAY(H|L)?R$")>;
+
+// Division
+def : InstRW<[VecFPd, LSU], (instregex "D(E|D)$")>;
+def : InstRW<[VecFPd], (instregex "D(E|D)R$")>;
+def : InstRW<[VecFPd, VecFPd, GroupAlone], (instregex "DXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Comparisons
+//===----------------------------------------------------------------------===//
+
+// Compare
+def : InstRW<[VecXsPm, LSU, Lat8], (instregex "C(E|D)$")>;
+def : InstRW<[VecXsPm, Lat4], (instregex "C(E|D)R$")>;
+def : InstRW<[VecDF, VecDF, Lat20, GroupAlone], (instregex "CXR$")>;
+
+
// --------------------------------- Vector --------------------------------- //
//===----------------------------------------------------------------------===//
Modified: llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ196.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ196.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ196.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZScheduleZ196.td Tue May 30 05:13:23 2017
@@ -839,5 +839,112 @@ def : InstRW<[FXU, Lat30, GroupAlone], (
def : InstRW<[FXU, LSU, Lat30, GroupAlone], (instregex "LFAS$")>;
def : InstRW<[FXU, Lat2, GroupAlone], (instregex "SRNM(B|T)?$")>;
+
+// --------------------- Hexadecimal floating point ------------------------- //
+
+//===----------------------------------------------------------------------===//
+// HFP: Move instructions
+//===----------------------------------------------------------------------===//
+
+// Load and Test
+def : InstRW<[FPU], (instregex "LT(D|E)R$")>;
+def : InstRW<[FPU2, FPU2, Lat9, GroupAlone], (instregex "LTXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Conversion instructions
+//===----------------------------------------------------------------------===//
+
+// Load rounded
+def : InstRW<[FPU], (instregex "(LEDR|LRER)$")>;
+def : InstRW<[FPU], (instregex "LEXR$")>;
+def : InstRW<[FPU], (instregex "(LDXR|LRDR)$")>;
+
+// Load lengthened
+def : InstRW<[LSU], (instregex "LDE$")>;
+def : InstRW<[FXU], (instregex "LDER$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "LX(D|E)$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "LX(D|E)R$")>;
+
+// Convert from fixed
+def : InstRW<[FXU, FPU, Lat9, GroupAlone], (instregex "CE(F|G)R$")>;
+def : InstRW<[FXU, FPU, Lat9, GroupAlone], (instregex "CD(F|G)R$")>;
+def : InstRW<[FXU, FPU2, FPU2, Lat11, GroupAlone], (instregex "CX(F|G)R$")>;
+
+// Convert to fixed
+def : InstRW<[FXU, FPU, Lat12, GroupAlone], (instregex "CF(E|D)R$")>;
+def : InstRW<[FXU, FPU, Lat12, GroupAlone], (instregex "CG(E|D)R$")>;
+def : InstRW<[FXU, FPU, FPU, Lat20, GroupAlone], (instregex "C(F|G)XR$")>;
+
+// Convert BFP to HFP / HFP to BFP.
+def : InstRW<[FPU], (instregex "THD(E)?R$")>;
+def : InstRW<[FPU], (instregex "TB(E)?DR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Unary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Load Complement / Negative / Positive
+def : InstRW<[FPU], (instregex "L(C|N|P)DR$")>;
+def : InstRW<[FPU], (instregex "L(C|N|P)ER$")>;
+def : InstRW<[FPU2, FPU2, Lat9, GroupAlone], (instregex "L(C|N|P)XR$")>;
+
+// Halve
+def : InstRW<[FPU], (instregex "H(E|D)R$")>;
+
+// Square root
+def : InstRW<[FPU, LSU, Lat30], (instregex "SQ(E|D)$")>;
+def : InstRW<[FPU, Lat30], (instregex "SQ(E|D)R$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "SQXR$")>;
+
+// Load FP integer
+def : InstRW<[FPU], (instregex "FIER$")>;
+def : InstRW<[FPU], (instregex "FIDR$")>;
+def : InstRW<[FPU2, FPU2, Lat15, GroupAlone], (instregex "FIXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Binary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Addition
+def : InstRW<[FPU, LSU, Lat12], (instregex "A(E|D|U|W)$")>;
+def : InstRW<[FPU], (instregex "A(E|D|U|W)R$")>;
+def : InstRW<[FPU2, FPU2, Lat20, GroupAlone], (instregex "AXR$")>;
+
+// Subtraction
+def : InstRW<[FPU, LSU, Lat12], (instregex "S(E|D|U|W)$")>;
+def : InstRW<[FPU], (instregex "S(E|D|U|W)R$")>;
+def : InstRW<[FPU2, FPU2, Lat20, GroupAlone], (instregex "SXR$")>;
+
+// Multiply
+def : InstRW<[FPU, LSU, Lat12], (instregex "M(D|DE|E|EE)$")>;
+def : InstRW<[FPU], (instregex "M(D|DE|E|EE)R$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "MXD$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "MXDR$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "MXR$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "MY(H|L)?$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "MY(H|L)?R$")>;
+
+// Multiply and add / subtract
+def : InstRW<[FPU, LSU, Lat12, GroupAlone], (instregex "M(A|S)E$")>;
+def : InstRW<[FPU, GroupAlone], (instregex "M(A|S)ER$")>;
+def : InstRW<[FPU, LSU, Lat12, GroupAlone], (instregex "M(A|S)D$")>;
+def : InstRW<[FPU, GroupAlone], (instregex "M(A|S)DR$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat12, GroupAlone], (instregex "MAY(H|L)?$")>;
+def : InstRW<[FPU2, FPU2, GroupAlone], (instregex "MAY(H|L)?R$")>;
+
+// Division
+def : InstRW<[FPU, LSU, Lat30], (instregex "D(E|D)$")>;
+def : InstRW<[FPU, Lat30], (instregex "D(E|D)R$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "DXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Comparisons
+//===----------------------------------------------------------------------===//
+
+// Compare
+def : InstRW<[FPU, LSU, Lat12], (instregex "C(E|D)$")>;
+def : InstRW<[FPU], (instregex "C(E|D)R$")>;
+def : InstRW<[FPU, FPU, Lat15], (instregex "CXR$")>;
+
}
Modified: llvm/trunk/lib/Target/SystemZ/SystemZScheduleZEC12.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZScheduleZEC12.td?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZScheduleZEC12.td (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZScheduleZEC12.td Tue May 30 05:13:23 2017
@@ -877,5 +877,112 @@ def : InstRW<[FXU, Lat30, GroupAlone], (
def : InstRW<[FXU, LSU, Lat30, GroupAlone], (instregex "LFAS$")>;
def : InstRW<[FXU, Lat2, GroupAlone], (instregex "SRNM(B|T)?$")>;
+
+// --------------------- Hexadecimal floating point ------------------------- //
+
+//===----------------------------------------------------------------------===//
+// HFP: Move instructions
+//===----------------------------------------------------------------------===//
+
+// Load and Test
+def : InstRW<[FPU], (instregex "LT(D|E)R$")>;
+def : InstRW<[FPU2, FPU2, Lat9, GroupAlone], (instregex "LTXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Conversion instructions
+//===----------------------------------------------------------------------===//
+
+// Load rounded
+def : InstRW<[FPU], (instregex "(LEDR|LRER)$")>;
+def : InstRW<[FPU], (instregex "LEXR$")>;
+def : InstRW<[FPU], (instregex "(LDXR|LRDR)$")>;
+
+// Load lengthened
+def : InstRW<[LSU], (instregex "LDE$")>;
+def : InstRW<[FXU], (instregex "LDER$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "LX(D|E)$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "LX(D|E)R$")>;
+
+// Convert from fixed
+def : InstRW<[FXU, FPU, Lat9, GroupAlone], (instregex "CE(F|G)R$")>;
+def : InstRW<[FXU, FPU, Lat9, GroupAlone], (instregex "CD(F|G)R$")>;
+def : InstRW<[FXU, FPU2, FPU2, Lat11, GroupAlone], (instregex "CX(F|G)R$")>;
+
+// Convert to fixed
+def : InstRW<[FXU, FPU, Lat12, GroupAlone], (instregex "CF(E|D)R$")>;
+def : InstRW<[FXU, FPU, Lat12, GroupAlone], (instregex "CG(E|D)R$")>;
+def : InstRW<[FXU, FPU, FPU, Lat20, GroupAlone], (instregex "C(F|G)XR$")>;
+
+// Convert BFP to HFP / HFP to BFP.
+def : InstRW<[FPU], (instregex "THD(E)?R$")>;
+def : InstRW<[FPU], (instregex "TB(E)?DR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Unary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Load Complement / Negative / Positive
+def : InstRW<[FPU], (instregex "L(C|N|P)DR$")>;
+def : InstRW<[FPU], (instregex "L(C|N|P)ER$")>;
+def : InstRW<[FPU2, FPU2, Lat9, GroupAlone], (instregex "L(C|N|P)XR$")>;
+
+// Halve
+def : InstRW<[FPU], (instregex "H(E|D)R$")>;
+
+// Square root
+def : InstRW<[FPU, LSU, Lat30], (instregex "SQ(E|D)$")>;
+def : InstRW<[FPU, Lat30], (instregex "SQ(E|D)R$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "SQXR$")>;
+
+// Load FP integer
+def : InstRW<[FPU], (instregex "FIER$")>;
+def : InstRW<[FPU], (instregex "FIDR$")>;
+def : InstRW<[FPU2, FPU2, Lat15, GroupAlone], (instregex "FIXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Binary arithmetic
+//===----------------------------------------------------------------------===//
+
+// Addition
+def : InstRW<[FPU, LSU, Lat12], (instregex "A(E|D|U|W)$")>;
+def : InstRW<[FPU], (instregex "A(E|D|U|W)R$")>;
+def : InstRW<[FPU2, FPU2, Lat20, GroupAlone], (instregex "AXR$")>;
+
+// Subtraction
+def : InstRW<[FPU, LSU, Lat12], (instregex "S(E|D|U|W)$")>;
+def : InstRW<[FPU], (instregex "S(E|D|U|W)R$")>;
+def : InstRW<[FPU2, FPU2, Lat20, GroupAlone], (instregex "SXR$")>;
+
+// Multiply
+def : InstRW<[FPU, LSU, Lat12], (instregex "M(D|DE|E|EE)$")>;
+def : InstRW<[FPU], (instregex "M(D|DE|E|EE)R$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "MXD$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "MXDR$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "MXR$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat15, GroupAlone], (instregex "MY(H|L)?$")>;
+def : InstRW<[FPU2, FPU2, Lat10, GroupAlone], (instregex "MY(H|L)?R$")>;
+
+// Multiply and add / subtract
+def : InstRW<[FPU, LSU, Lat12, GroupAlone], (instregex "M(A|S)E$")>;
+def : InstRW<[FPU, GroupAlone], (instregex "M(A|S)ER$")>;
+def : InstRW<[FPU, LSU, Lat12, GroupAlone], (instregex "M(A|S)D$")>;
+def : InstRW<[FPU, GroupAlone], (instregex "M(A|S)DR$")>;
+def : InstRW<[FPU2, FPU2, LSU, Lat12, GroupAlone], (instregex "MAY(H|L)?$")>;
+def : InstRW<[FPU2, FPU2, GroupAlone], (instregex "MAY(H|L)?R$")>;
+
+// Division
+def : InstRW<[FPU, LSU, Lat30], (instregex "D(E|D)$")>;
+def : InstRW<[FPU, Lat30], (instregex "D(E|D)R$")>;
+def : InstRW<[FPU2, FPU2, Lat30, GroupAlone], (instregex "DXR$")>;
+
+//===----------------------------------------------------------------------===//
+// HFP: Comparisons
+//===----------------------------------------------------------------------===//
+
+// Compare
+def : InstRW<[FPU, LSU, Lat12], (instregex "C(E|D)$")>;
+def : InstRW<[FPU], (instregex "C(E|D)R$")>;
+def : InstRW<[FPU, FPU, Lat15], (instregex "CXR$")>;
+
}
Modified: llvm/trunk/test/MC/Disassembler/SystemZ/insns.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/SystemZ/insns.txt?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/SystemZ/insns.txt (original)
+++ llvm/trunk/test/MC/Disassembler/SystemZ/insns.txt Tue May 30 05:13:23 2017
@@ -22,6 +22,27 @@
# CHECK: a %r15, 0
0x5a 0xf0 0x00 0x00
+# CHECK: ad %f0, 0
+0x6a 0x00 0x00 0x00
+
+# CHECK: ad %f0, 4095
+0x6a 0x00 0x0f 0xff
+
+# CHECK: ad %f0, 0(%r1)
+0x6a 0x00 0x10 0x00
+
+# CHECK: ad %f0, 0(%r15)
+0x6a 0x00 0xf0 0x00
+
+# CHECK: ad %f0, 4095(%r1,%r15)
+0x6a 0x01 0xff 0xff
+
+# CHECK: ad %f0, 4095(%r15,%r1)
+0x6a 0x0f 0x1f 0xff
+
+# CHECK: ad %f15, 0
+0x6a 0xf0 0x00 0x00
+
# CHECK: adb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1a
@@ -55,6 +76,39 @@
# CHECK: adbr %f15, %f0
0xb3 0x1a 0x00 0xf0
+# CHECK: adr %f0, %f0
+0x2a 0x00
+
+# CHECK: adr %f0, %f15
+0x2a 0x0f
+
+# CHECK: adr %f7, %f8
+0x2a 0x78
+
+# CHECK: adr %f15, %f0
+0x2a 0xf0
+
+# CHECK: ae %f0, 0
+0x7a 0x00 0x00 0x00
+
+# CHECK: ae %f0, 4095
+0x7a 0x00 0x0f 0xff
+
+# CHECK: ae %f0, 0(%r1)
+0x7a 0x00 0x10 0x00
+
+# CHECK: ae %f0, 0(%r15)
+0x7a 0x00 0xf0 0x00
+
+# CHECK: ae %f0, 4095(%r1,%r15)
+0x7a 0x01 0xff 0xff
+
+# CHECK: ae %f0, 4095(%r15,%r1)
+0x7a 0x0f 0x1f 0xff
+
+# CHECK: ae %f15, 0
+0x7a 0xf0 0x00 0x00
+
# CHECK: aeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0a
@@ -88,6 +142,18 @@
# CHECK: aebr %f15, %f0
0xb3 0x0a 0x00 0xf0
+# CHECK: aer %f0, %f0
+0x3a 0x00
+
+# CHECK: aer %f0, %f15
+0x3a 0x0f
+
+# CHECK: aer %f7, %f8
+0x3a 0x78
+
+# CHECK: aer %f15, %f0
+0x3a 0xf0
+
# CHECK: afi %r0, -2147483648
0xc2 0x09 0x80 0x00 0x00 0x00
@@ -856,6 +922,72 @@
# CHECK: asi 524287(%r15), 42
0xeb 0x2a 0xff 0xff 0x7f 0x6a
+# CHECK: au %f0, 0
+0x7e 0x00 0x00 0x00
+
+# CHECK: au %f0, 4095
+0x7e 0x00 0x0f 0xff
+
+# CHECK: au %f0, 0(%r1)
+0x7e 0x00 0x10 0x00
+
+# CHECK: au %f0, 0(%r15)
+0x7e 0x00 0xf0 0x00
+
+# CHECK: au %f0, 4095(%r1,%r15)
+0x7e 0x01 0xff 0xff
+
+# CHECK: au %f0, 4095(%r15,%r1)
+0x7e 0x0f 0x1f 0xff
+
+# CHECK: au %f15, 0
+0x7e 0xf0 0x00 0x00
+
+# CHECK: aur %f0, %f0
+0x3e 0x00
+
+# CHECK: aur %f0, %f15
+0x3e 0x0f
+
+# CHECK: aur %f7, %f8
+0x3e 0x78
+
+# CHECK: aur %f15, %f0
+0x3e 0xf0
+
+# CHECK: aw %f0, 0
+0x6e 0x00 0x00 0x00
+
+# CHECK: aw %f0, 4095
+0x6e 0x00 0x0f 0xff
+
+# CHECK: aw %f0, 0(%r1)
+0x6e 0x00 0x10 0x00
+
+# CHECK: aw %f0, 0(%r15)
+0x6e 0x00 0xf0 0x00
+
+# CHECK: aw %f0, 4095(%r1,%r15)
+0x6e 0x01 0xff 0xff
+
+# CHECK: aw %f0, 4095(%r15,%r1)
+0x6e 0x0f 0x1f 0xff
+
+# CHECK: aw %f15, 0
+0x6e 0xf0 0x00 0x00
+
+# CHECK: awr %f0, %f0
+0x2e 0x00
+
+# CHECK: awr %f0, %f15
+0x2e 0x0f
+
+# CHECK: awr %f7, %f8
+0x2e 0x78
+
+# CHECK: awr %f15, %f0
+0x2e 0xf0
+
# CHECK: axbr %f0, %f0
0xb3 0x4a 0x00 0x00
@@ -868,6 +1000,18 @@
# CHECK: axbr %f13, %f0
0xb3 0x4a 0x00 0xd0
+# CHECK: axr %f0, %f0
+0x36 0x00
+
+# CHECK: axr %f0, %f13
+0x36 0x0d
+
+# CHECK: axr %f8, %f8
+0x36 0x88
+
+# CHECK: axr %f13, %f0
+0x36 0xd0
+
# CHECK: ay %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5a
@@ -1348,6 +1492,27 @@
# CHECK: c %r15, 0
0x59 0xf0 0x00 0x00
+# CHECK: cd %f0, 0
+0x69 0x00 0x00 0x00
+
+# CHECK: cd %f0, 4095
+0x69 0x00 0x0f 0xff
+
+# CHECK: cd %f0, 0(%r1)
+0x69 0x00 0x10 0x00
+
+# CHECK: cd %f0, 0(%r15)
+0x69 0x00 0xf0 0x00
+
+# CHECK: cd %f0, 4095(%r1,%r15)
+0x69 0x01 0xff 0xff
+
+# CHECK: cd %f0, 4095(%r15,%r1)
+0x69 0x0f 0x1f 0xff
+
+# CHECK: cd %f15, 0
+0x69 0xf0 0x00 0x00
+
# CHECK: cdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x19
@@ -1414,6 +1579,21 @@
# CHECK: cdfbra %f15, 0, %r0, 1
0xb3 0x95 0x01 0xf0
+# CHECK: cdfr %f0, %r0
+0xb3 0xb5 0x00 0x00
+
+# CHECK: cdfr %f0, %r15
+0xb3 0xb5 0x00 0x0f
+
+# CHECK: cdfr %f15, %r0
+0xb3 0xb5 0x00 0xf0
+
+# CHECK: cdfr %f7, %r8
+0xb3 0xb5 0x00 0x78
+
+# CHECK: cdfr %f15, %r15
+0xb3 0xb5 0x00 0xff
+
# CHECK: cdgbr %f0, %r0
0xb3 0xa5 0x00 0x00
@@ -1447,6 +1627,21 @@
# CHECK: cdgbra %f15, 0, %r0, 1
0xb3 0xa5 0x01 0xf0
+# CHECK: cdgr %f0, %r0
+0xb3 0xc5 0x00 0x00
+
+# CHECK: cdgr %f0, %r15
+0xb3 0xc5 0x00 0x0f
+
+# CHECK: cdgr %f15, %r0
+0xb3 0xc5 0x00 0xf0
+
+# CHECK: cdgr %f7, %r8
+0xb3 0xc5 0x00 0x78
+
+# CHECK: cdgr %f15, %r15
+0xb3 0xc5 0x00 0xff
+
# CHECK: cdlfbr %f0, 0, %r0, 1
0xb3 0x91 0x01 0x00
@@ -1483,6 +1678,18 @@
# CHECK: cdlgbr %f15, 0, %r0, 1
0xb3 0xa1 0x01 0xf0
+# CHECK: cdr %f0, %f0
+0x29 0x00
+
+# CHECK: cdr %f0, %f15
+0x29 0x0f
+
+# CHECK: cdr %f7, %f8
+0x29 0x78
+
+# CHECK: cdr %f15, %f0
+0x29 0xf0
+
# CHECK: cds %r0, %r0, 0
0xbb 0x00 0x00 0x00
@@ -1573,6 +1780,27 @@
# CHECK: cdsy %r14, %r0, 0
0xeb 0xe0 0x00 0x00 0x00 0x31
+# CHECK: ce %f0, 0
+0x79 0x00 0x00 0x00
+
+# CHECK: ce %f0, 4095
+0x79 0x00 0x0f 0xff
+
+# CHECK: ce %f0, 0(%r1)
+0x79 0x00 0x10 0x00
+
+# CHECK: ce %f0, 0(%r15)
+0x79 0x00 0xf0 0x00
+
+# CHECK: ce %f0, 4095(%r1,%r15)
+0x79 0x01 0xff 0xff
+
+# CHECK: ce %f0, 4095(%r15,%r1)
+0x79 0x0f 0x1f 0xff
+
+# CHECK: ce %f15, 0
+0x79 0xf0 0x00 0x00
+
# CHECK: ceb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x09
@@ -1639,6 +1867,21 @@
# CHECK: cefbra %f15, 0, %r0, 1
0xb3 0x94 0x01 0xf0
+# CHECK: cefr %f0, %r0
+0xb3 0xb4 0x00 0x00
+
+# CHECK: cefr %f0, %r15
+0xb3 0xb4 0x00 0x0f
+
+# CHECK: cefr %f15, %r0
+0xb3 0xb4 0x00 0xf0
+
+# CHECK: cefr %f7, %r8
+0xb3 0xb4 0x00 0x78
+
+# CHECK: cefr %f15, %r15
+0xb3 0xb4 0x00 0xff
+
# CHECK: cegbr %f0, %r0
0xb3 0xa4 0x00 0x00
@@ -1672,6 +1915,21 @@
# CHECK: cegbra %f15, 0, %r0, 1
0xb3 0xa4 0x01 0xf0
+# CHECK: cegr %f0, %r0
+0xb3 0xc4 0x00 0x00
+
+# CHECK: cegr %f0, %r15
+0xb3 0xc4 0x00 0x0f
+
+# CHECK: cegr %f15, %r0
+0xb3 0xc4 0x00 0xf0
+
+# CHECK: cegr %f7, %r8
+0xb3 0xc4 0x00 0x78
+
+# CHECK: cegr %f15, %r15
+0xb3 0xc4 0x00 0xff
+
# CHECK: celfbr %f0, 0, %r0, 1
0xb3 0x90 0x01 0x00
@@ -1708,6 +1966,18 @@
# CHECK: celgbr %f15, 0, %r0, 1
0xb3 0xa0 0x01 0xf0
+# CHECK: cer %f0, %f0
+0x39 0x00
+
+# CHECK: cer %f0, %f15
+0x39 0x0f
+
+# CHECK: cer %f7, %f8
+0x39 0x78
+
+# CHECK: cer %f15, %f0
+0x39 0xf0
+
# CHECK: cfc 0
0xb2 0x1a 0x00 0x00
@@ -1759,6 +2029,21 @@
# CHECK: cfdbra %r15, 0, %f0, 1
0xb3 0x99 0x01 0xf0
+# CHECK: cfdr %r0, 0, %f0
+0xb3 0xb9 0x00 0x00
+
+# CHECK: cfdr %r0, 0, %f15
+0xb3 0xb9 0x00 0x0f
+
+# CHECK: cfdr %r0, 15, %f0
+0xb3 0xb9 0xf0 0x00
+
+# CHECK: cfdr %r4, 5, %f6
+0xb3 0xb9 0x50 0x46
+
+# CHECK: cfdr %r15, 0, %f0
+0xb3 0xb9 0x00 0xf0
+
# CHECK: cfebr %r0, 0, %f0
0xb3 0x98 0x00 0x00
@@ -1792,6 +2077,21 @@
# CHECK: cfebra %r15, 0, %f0, 1
0xb3 0x98 0x01 0xf0
+# CHECK: cfer %r0, 0, %f0
+0xb3 0xb8 0x00 0x00
+
+# CHECK: cfer %r0, 0, %f15
+0xb3 0xb8 0x00 0x0f
+
+# CHECK: cfer %r0, 15, %f0
+0xb3 0xb8 0xf0 0x00
+
+# CHECK: cfer %r4, 5, %f6
+0xb3 0xb8 0x50 0x46
+
+# CHECK: cfer %r15, 0, %f0
+0xb3 0xb8 0x00 0xf0
+
# CHECK: cfi %r0, -2147483648
0xc2 0x0d 0x80 0x00 0x00 0x00
@@ -1843,6 +2143,21 @@
# CHECK: cfxbra %r15, 0, %f0, 1
0xb3 0x9a 0x01 0xf0
+# CHECK: cfxr %r0, 0, %f0
+0xb3 0xba 0x00 0x00
+
+# CHECK: cfxr %r0, 0, %f13
+0xb3 0xba 0x00 0x0d
+
+# CHECK: cfxr %r0, 15, %f0
+0xb3 0xba 0xf0 0x00
+
+# CHECK: cfxr %r4, 5, %f8
+0xb3 0xba 0x50 0x48
+
+# CHECK: cfxr %r15, 0, %f0
+0xb3 0xba 0x00 0xf0
+
# CHECK: cg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x20
@@ -1906,6 +2221,21 @@
# CHECK: cgdbra %r15, 0, %f0, 1
0xb3 0xa9 0x01 0xf0
+# CHECK: cgdr %r0, 0, %f0
+0xb3 0xc9 0x00 0x00
+
+# CHECK: cgdr %r0, 0, %f15
+0xb3 0xc9 0x00 0x0f
+
+# CHECK: cgdr %r0, 15, %f0
+0xb3 0xc9 0xf0 0x00
+
+# CHECK: cgdr %r4, 5, %f6
+0xb3 0xc9 0x50 0x46
+
+# CHECK: cgdr %r15, 0, %f0
+0xb3 0xc9 0x00 0xf0
+
# CHECK: cgebr %r0, 0, %f0
0xb3 0xa8 0x00 0x00
@@ -1939,6 +2269,21 @@
# CHECK: cgebra %r15, 0, %f0, 1
0xb3 0xa8 0x01 0xf0
+# CHECK: cger %r0, 0, %f0
+0xb3 0xc8 0x00 0x00
+
+# CHECK: cger %r0, 0, %f15
+0xb3 0xc8 0x00 0x0f
+
+# CHECK: cger %r0, 15, %f0
+0xb3 0xc8 0xf0 0x00
+
+# CHECK: cger %r4, 5, %f6
+0xb3 0xc8 0x50 0x46
+
+# CHECK: cger %r15, 0, %f0
+0xb3 0xc8 0x00 0xf0
+
# CHECK: cgf %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x30
@@ -2299,6 +2644,21 @@
# CHECK: cgxbra %r15, 0, %f0, 1
0xb3 0xaa 0x01 0xf0
+# CHECK: cgxr %r0, 0, %f0
+0xb3 0xca 0x00 0x00
+
+# CHECK: cgxr %r0, 0, %f13
+0xb3 0xca 0x00 0x0d
+
+# CHECK: cgxr %r0, 15, %f0
+0xb3 0xca 0xf0 0x00
+
+# CHECK: cgxr %r4, 5, %f8
+0xb3 0xca 0x50 0x48
+
+# CHECK: cgxr %r15, 0, %f0
+0xb3 0xca 0x00 0xf0
+
# CHECK: ch %r0, 0
0x49 0x00 0x00 0x00
@@ -4246,6 +4606,21 @@
# CHECK: cxfbra %f13, 0, %r0, 1
0xb3 0x96 0x01 0xd0
+# CHECK: cxfr %f0, %r0
+0xb3 0xb6 0x00 0x00
+
+# CHECK: cxfr %f0, %r15
+0xb3 0xb6 0x00 0x0f
+
+# CHECK: cxfr %f13, %r0
+0xb3 0xb6 0x00 0xd0
+
+# CHECK: cxfr %f8, %r7
+0xb3 0xb6 0x00 0x87
+
+# CHECK: cxfr %f13, %r15
+0xb3 0xb6 0x00 0xdf
+
# CHECK: cxgbr %f0, %r0
0xb3 0xa6 0x00 0x00
@@ -4279,6 +4654,21 @@
# CHECK: cxgbra %f13, 0, %r0, 1
0xb3 0xa6 0x01 0xd0
+# CHECK: cxgr %f0, %r0
+0xb3 0xc6 0x00 0x00
+
+# CHECK: cxgr %f0, %r15
+0xb3 0xc6 0x00 0x0f
+
+# CHECK: cxgr %f13, %r0
+0xb3 0xc6 0x00 0xd0
+
+# CHECK: cxgr %f8, %r7
+0xb3 0xc6 0x00 0x87
+
+# CHECK: cxgr %f13, %r15
+0xb3 0xc6 0x00 0xdf
+
# CHECK: cxlfbr %f0, 0, %r0, 1
0xb3 0x92 0x01 0x00
@@ -4315,6 +4705,18 @@
# CHECK: cxlgbr %f13, 0, %r0, 1
0xb3 0xa2 0x01 0xd0
+# CHECK: cxr %f0, %f0
+0xb3 0x69 0x00 0x00
+
+# CHECK: cxr %f0, %f13
+0xb3 0x69 0x00 0x0d
+
+# CHECK: cxr %f8, %f8
+0xb3 0x69 0x00 0x88
+
+# CHECK: cxr %f13, %f0
+0xb3 0x69 0x00 0xd0
+
# CHECK: cy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x59
@@ -4366,6 +4768,27 @@
# CHECK: d %r14, 0
0x5d 0xe0 0x00 0x00
+# CHECK: dd %f0, 0
+0x6d 0x00 0x00 0x00
+
+# CHECK: dd %f0, 4095
+0x6d 0x00 0x0f 0xff
+
+# CHECK: dd %f0, 0(%r1)
+0x6d 0x00 0x10 0x00
+
+# CHECK: dd %f0, 0(%r15)
+0x6d 0x00 0xf0 0x00
+
+# CHECK: dd %f0, 4095(%r1,%r15)
+0x6d 0x01 0xff 0xff
+
+# CHECK: dd %f0, 4095(%r15,%r1)
+0x6d 0x0f 0x1f 0xff
+
+# CHECK: dd %f15, 0
+0x6d 0xf0 0x00 0x00
+
# CHECK: ddb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1d
@@ -4399,6 +4822,39 @@
# CHECK: ddbr %f15, %f0
0xb3 0x1d 0x00 0xf0
+# CHECK: ddr %f0, %f0
+0x2d 0x00
+
+# CHECK: ddr %f0, %f15
+0x2d 0x0f
+
+# CHECK: ddr %f7, %f8
+0x2d 0x78
+
+# CHECK: ddr %f15, %f0
+0x2d 0xf0
+
+# CHECK: de %f0, 0
+0x7d 0x00 0x00 0x00
+
+# CHECK: de %f0, 4095
+0x7d 0x00 0x0f 0xff
+
+# CHECK: de %f0, 0(%r1)
+0x7d 0x00 0x10 0x00
+
+# CHECK: de %f0, 0(%r15)
+0x7d 0x00 0xf0 0x00
+
+# CHECK: de %f0, 4095(%r1,%r15)
+0x7d 0x01 0xff 0xff
+
+# CHECK: de %f0, 4095(%r15,%r1)
+0x7d 0x0f 0x1f 0xff
+
+# CHECK: de %f15, 0
+0x7d 0xf0 0x00 0x00
+
# CHECK: deb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0d
@@ -4432,6 +4888,18 @@
# CHECK: debr %f15, %f0
0xb3 0x0d 0x00 0xf0
+# CHECK: der %f0, %f0
+0x3d 0x00
+
+# CHECK: der %f0, %f15
+0x3d 0x0f
+
+# CHECK: der %f7, %f8
+0x3d 0x78
+
+# CHECK: der %f15, %f0
+0x3d 0xf0
+
# CHECK: didbr %f0, %f0, %f0, 1
0xb3 0x5b 0x01 0x00
@@ -4702,6 +5170,18 @@
# CHECK: dxbr %f13, %f0
0xb3 0x4d 0x00 0xd0
+# CHECK: dxr %f0, %f0
+0xb2 0x2d 0x00 0x00
+
+# CHECK: dxr %f0, %f13
+0xb2 0x2d 0x00 0x0d
+
+# CHECK: dxr %f8, %f8
+0xb2 0x2d 0x00 0x88
+
+# CHECK: dxr %f13, %f0
+0xb2 0x2d 0x00 0xd0
+
# CHECK: ear %r0, %a0
0xb2 0x4f 0x00 0x00
@@ -4933,6 +5413,18 @@
# CHECK: fidbra %f15, 0, %f0, 1
0xb3 0x5f 0x01 0xf0
+# CHECK: fidr %f0, %f0
+0xb3 0x7f 0x00 0x00
+
+# CHECK: fidr %f0, %f15
+0xb3 0x7f 0x00 0x0f
+
+# CHECK: fidr %f4, %f6
+0xb3 0x7f 0x00 0x46
+
+# CHECK: fidr %f15, %f0
+0xb3 0x7f 0x00 0xf0
+
# CHECK: fiebr %f0, 0, %f0
0xb3 0x57 0x00 0x00
@@ -4966,6 +5458,18 @@
# CHECK: fiebra %f15, 0, %f0, 1
0xb3 0x57 0x01 0xf0
+# CHECK: fier %f0, %f0
+0xb3 0x77 0x00 0x00
+
+# CHECK: fier %f0, %f15
+0xb3 0x77 0x00 0x0f
+
+# CHECK: fier %f4, %f6
+0xb3 0x77 0x00 0x46
+
+# CHECK: fier %f15, %f0
+0xb3 0x77 0x00 0xf0
+
# CHECK: fixbr %f0, 0, %f0
0xb3 0x47 0x00 0x00
@@ -4999,6 +5503,18 @@
# CHECK: fixbra %f13, 0, %f0, 1
0xb3 0x47 0x01 0xd0
+# CHECK: fixr %f0, %f0
+0xb3 0x67 0x00 0x00
+
+# CHECK: fixr %f0, %f13
+0xb3 0x67 0x00 0x0d
+
+# CHECK: fixr %f4, %f8
+0xb3 0x67 0x00 0x48
+
+# CHECK: fixr %f13, %f0
+0xb3 0x67 0x00 0xd0
+
# CHECK: flogr %r0, %r0
0xb9 0x83 0x00 0x00
@@ -5011,6 +5527,30 @@
# CHECK: flogr %r14, %r0
0xb9 0x83 0x00 0xe0
+# CHECK: hdr %f0, %f0
+0x24 0x00
+
+# CHECK: hdr %f0, %f15
+0x24 0x0f
+
+# CHECK: hdr %f7, %f8
+0x24 0x78
+
+# CHECK: hdr %f15, %f0
+0x24 0xf0
+
+# CHECK: her %f0, %f0
+0x34 0x00
+
+# CHECK: her %f0, %f15
+0x34 0x0f
+
+# CHECK: her %f7, %f8
+0x34 0x78
+
+# CHECK: her %f15, %f0
+0x34 0xf0
+
# CHECK: ic %r0, 0
0x43 0x00 0x00 0x00
@@ -6025,6 +6565,18 @@
# CHECK: lcdbr %f15, %f9
0xb3 0x13 0x00 0xf9
+# CHECK: lcdr %f0, %f9
+0x23 0x09
+
+# CHECK: lcdr %f0, %f15
+0x23 0x0f
+
+# CHECK: lcdr %f15, %f0
+0x23 0xf0
+
+# CHECK: lcdr %f15, %f9
+0x23 0xf9
+
# CHECK: lcebr %f0, %f9
0xb3 0x03 0x00 0x09
@@ -6037,9 +6589,20 @@
# CHECK: lcebr %f15, %f9
0xb3 0x03 0x00 0xf9
+# CHECK: lcer %f0, %f9
+0x33 0x09
+
+# CHECK: lcer %f0, %f15
+0x33 0x0f
+
+# CHECK: lcer %f15, %f0
+0x33 0xf0
+
+# CHECK: lcer %f15, %f9
+0x33 0xf9
+
# CHECK: lcgfr %r0, %r0
0xb9 0x13 0x00 0x00
-
# CHECK: lcgfr %r0, %r15
0xb9 0x13 0x00 0x0f
@@ -6085,6 +6648,18 @@
# CHECK: lcxbr %f13, %f9
0xb3 0x43 0x00 0xd9
+# CHECK: lcxr %f0, %f8
+0xb3 0x63 0x00 0x08
+
+# CHECK: lcxr %f0, %f13
+0xb3 0x63 0x00 0x0d
+
+# CHECK: lcxr %f13, %f0
+0xb3 0x63 0x00 0xd0
+
+# CHECK: lcxr %f13, %f9
+0xb3 0x63 0x00 0xd9
+
# CHECK: ld %f0, 0
0x68 0x00 0x00 0x00
@@ -6106,6 +6681,27 @@
# CHECK: ld %f15, 0
0x68 0xf0 0x00 0x00
+# CHECK: lde %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x24
+
+# CHECK: lde %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x24
+
+# CHECK: lde %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x24
+
+# CHECK: lde %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x24
+
+# CHECK: lde %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x24
+
+# CHECK: lde %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x24
+
+# CHECK: lde %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x24
+
# CHECK: ldeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x04
@@ -6136,6 +6732,15 @@
# CHECK: ldebr %f15, %f0
0xb3 0x04 0x00 0xf0
+# CHECK: lder %f0, %f15
+0xb3 0x24 0x00 0x0f
+
+# CHECK: lder %f7, %f8
+0xb3 0x24 0x00 0x78
+
+# CHECK: lder %f15, %f0
+0xb3 0x24 0x00 0xf0
+
# CHECK: ldgr %f0, %r0
0xb3 0xc1 0x00 0x00
@@ -6196,6 +6801,21 @@
# CHECK: ldxbra %f13, 0, %f0, 1
0xb3 0x45 0x01 0xd0
+# CHECK: ldxr %f0, %f0
+0x25 0x00
+
+# CHECK: ldxr %f0, %f13
+0x25 0x0d
+
+# CHECK: ldxr %f7, %f8
+0x25 0x78
+
+# CHECK: ldxr %f15, %f0
+0x25 0xf0
+
+# CHECK: ldxr %f15, %f13
+0x25 0xfd
+
# CHECK: ldy %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x65
@@ -6280,6 +6900,21 @@
# CHECK: ledbra %f15, 0, %f0, 1
0xb3 0x44 0x01 0xf0
+# CHECK: ledr %f0, %f0
+0x35 0x00
+
+# CHECK: ledr %f0, %f15
+0x35 0x0f
+
+# CHECK: ledr %f7, %f8
+0x35 0x78
+
+# CHECK: ledr %f15, %f0
+0x35 0xf0
+
+# CHECK: ledr %f15, %f15
+0x35 0xff
+
# CHECK: ler %f0, %f9
0x38 0x09
@@ -6325,6 +6960,21 @@
# CHECK: lexbra %f13, 0, %f0, 1
0xb3 0x46 0x01 0xd0
+# CHECK: lexr %f0, %f0
+0xb3 0x66 0x00 0x00
+
+# CHECK: lexr %f0, %f13
+0xb3 0x66 0x00 0x0d
+
+# CHECK: lexr %f7, %f8
+0xb3 0x66 0x00 0x78
+
+# CHECK: lexr %f15, %f0
+0xb3 0x66 0x00 0xf0
+
+# CHECK: lexr %f15, %f13
+0xb3 0x66 0x00 0xfd
+
# CHECK: ley %f0, -524288
0xed 0x00 0x00 0x00 0x80 0x64
@@ -7399,6 +8049,18 @@
# CHECK: lndbr %f15, %f9
0xb3 0x11 0x00 0xf9
+# CHECK: lndr %f0, %f9
+0x21 0x09
+
+# CHECK: lndr %f0, %f15
+0x21 0x0f
+
+# CHECK: lndr %f15, %f0
+0x21 0xf0
+
+# CHECK: lndr %f15, %f9
+0x21 0xf9
+
# CHECK: lnebr %f0, %f9
0xb3 0x01 0x00 0x09
@@ -7411,6 +8073,18 @@
# CHECK: lnebr %f15, %f9
0xb3 0x01 0x00 0xf9
+# CHECK: lner %f0, %f9
+0x31 0x09
+
+# CHECK: lner %f0, %f15
+0x31 0x0f
+
+# CHECK: lner %f15, %f0
+0x31 0xf0
+
+# CHECK: lner %f15, %f9
+0x31 0xf9
+
# CHECK: lngfr %r0, %r0
0xb9 0x11 0x00 0x00
@@ -7459,6 +8133,18 @@
# CHECK: lnxbr %f13, %f9
0xb3 0x41 0x00 0xd9
+# CHECK: lnxr %f0, %f8
+0xb3 0x61 0x00 0x08
+
+# CHECK: lnxr %f0, %f13
+0xb3 0x61 0x00 0x0d
+
+# CHECK: lnxr %f13, %f0
+0xb3 0x61 0x00 0xd0
+
+# CHECK: lnxr %f13, %f9
+0xb3 0x61 0x00 0xd9
+
# CHECK: loc %r7, 6399(%r8), 0
0xeb 0x70 0x88 0xff 0x01 0xf2
@@ -7705,6 +8391,18 @@
# CHECK: lpdg %r2, 4095(%r1), 0(%r15)
0xc8 0x25 0x1f 0xff 0xf0 0x00
+# CHECK: lpdr %f0, %f9
+0x20 0x09
+
+# CHECK: lpdr %f0, %f15
+0x20 0x0f
+
+# CHECK: lpdr %f15, %f0
+0x20 0xf0
+
+# CHECK: lpdr %f15, %f9
+0x20 0xf9
+
# CHECK: lpebr %f0, %f9
0xb3 0x00 0x00 0x09
@@ -7717,6 +8415,18 @@
# CHECK: lpebr %f15, %f9
0xb3 0x00 0x00 0xf9
+# CHECK: lper %f0, %f9
+0x30 0x09
+
+# CHECK: lper %f0, %f15
+0x30 0x0f
+
+# CHECK: lper %f15, %f0
+0x30 0xf0
+
+# CHECK: lper %f15, %f9
+0x30 0xf9
+
# CHECK: lpgfr %r0, %r0
0xb9 0x10 0x00 0x00
@@ -7795,6 +8505,18 @@
# CHECK: lpxbr %f13, %f9
0xb3 0x40 0x00 0xd9
+# CHECK: lpxr %f0, %f8
+0xb3 0x60 0x00 0x08
+
+# CHECK: lpxr %f0, %f13
+0xb3 0x60 0x00 0x0d
+
+# CHECK: lpxr %f13, %f0
+0xb3 0x60 0x00 0xd0
+
+# CHECK: lpxr %f13, %f9
+0xb3 0x60 0x00 0xd9
+
# CHECK: lr %r0, %r9
0x18 0x09
@@ -7969,6 +8691,18 @@
# CHECK: ltdbr %f15, %f9
0xb3 0x12 0x00 0xf9
+# CHECK: ltdr %f0, %f9
+0x22 0x09
+
+# CHECK: ltdr %f0, %f15
+0x22 0x0f
+
+# CHECK: ltdr %f15, %f0
+0x22 0xf0
+
+# CHECK: ltdr %f15, %f9
+0x22 0xf9
+
# CHECK: ltebr %f0, %f9
0xb3 0x02 0x00 0x09
@@ -7981,6 +8715,18 @@
# CHECK: ltebr %f15, %f9
0xb3 0x02 0x00 0xf9
+# CHECK: lter %f0, %f9
+0x32 0x09
+
+# CHECK: lter %f0, %f15
+0x32 0x0f
+
+# CHECK: lter %f15, %f0
+0x32 0xf0
+
+# CHECK: lter %f15, %f9
+0x32 0xf9
+
# CHECK: ltg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x02
@@ -8089,14 +8835,44 @@
# CHECK: ltxbr %f13, %f9
0xb3 0x42 0x00 0xd9
-# CHECK: lxdb %f0, 0
-0xed 0x00 0x00 0x00 0x00 0x05
+# CHECK: ltxr %f0, %f9
+0xb3 0x62 0x00 0x09
-# CHECK: lxdb %f0, 4095
-0xed 0x00 0x0f 0xff 0x00 0x05
+# CHECK: ltxr %f0, %f13
+0xb3 0x62 0x00 0x0d
-# CHECK: lxdb %f0, 0(%r1)
-0xed 0x00 0x10 0x00 0x00 0x05
+# CHECK: ltxr %f13, %f0
+0xb3 0x62 0x00 0xd0
+
+# CHECK: ltxr %f13, %f9
+0xb3 0x62 0x00 0xd9
+
+# CHECK: lxd %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x25
+
+# CHECK: lxd %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x25
+
+# CHECK: lxd %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x25
+
+# CHECK: lxd %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x25
+
+# CHECK: lxd %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x25
+
+# CHECK: lxd %f13, 0
+0xed 0xd0 0x00 0x00 0x00 0x25
+
+# CHECK: lxdb %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x05
+
+# CHECK: lxdb %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x05
+
+# CHECK: lxdb %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x05
# CHECK: lxdb %f0, 0(%r15)
0xed 0x00 0xf0 0x00 0x00 0x05
@@ -8122,6 +8898,36 @@
# CHECK: lxdbr %f13, %f15
0xb3 0x05 0x00 0xdf
+# CHECK: lxdr %f0, %f8
+0xb3 0x25 0x00 0x08
+
+# CHECK: lxdr %f0, %f13
+0xb3 0x25 0x00 0x0d
+
+# CHECK: lxdr %f13, %f0
+0xb3 0x25 0x00 0xd0
+
+# CHECK: lxdr %f13, %f15
+0xb3 0x25 0x00 0xdf
+
+# CHECK: lxe %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x26
+
+# CHECK: lxe %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x26
+
+# CHECK: lxe %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x26
+
+# CHECK: lxe %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x26
+
+# CHECK: lxe %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x26
+
+# CHECK: lxe %f13, 0
+0xed 0xd0 0x00 0x00 0x00 0x26
+
# CHECK: lxeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x06
@@ -8155,6 +8961,18 @@
# CHECK: lxebr %f13, %f15
0xb3 0x06 0x00 0xdf
+# CHECK: lxer %f0, %f8
+0xb3 0x26 0x00 0x08
+
+# CHECK: lxer %f0, %f13
+0xb3 0x26 0x00 0x0d
+
+# CHECK: lxer %f13, %f0
+0xb3 0x26 0x00 0xd0
+
+# CHECK: lxer %f13, %f15
+0xb3 0x26 0x00 0xdf
+
# CHECK: lxr %f0, %f8
0xb3 0x65 0x00 0x08
@@ -8245,6 +9063,33 @@
# CHECK: m %r14, 0
0x5c 0xe0 0x00 0x00
+# CHECK: mad %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3e
+
+# CHECK: mad %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3e
+
+# CHECK: mad %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3e
+
+# CHECK: mad %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3e
+
+# CHECK: mad %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3e
+
+# CHECK: mad %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3e
+
+# CHECK: mad %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3e
+
+# CHECK: mad %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x3e
+
+# CHECK: mad %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x3e
+
# CHECK: madb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1e
@@ -8290,6 +9135,51 @@
# CHECK: madbr %f15, %f15, %f15
0xb3 0x1e 0xf0 0xff
+# CHECK: madr %f0, %f0, %f0
+0xb3 0x3e 0x00 0x00
+
+# CHECK: madr %f0, %f0, %f15
+0xb3 0x3e 0x00 0x0f
+
+# CHECK: madr %f0, %f15, %f0
+0xb3 0x3e 0x00 0xf0
+
+# CHECK: madr %f15, %f0, %f0
+0xb3 0x3e 0xf0 0x00
+
+# CHECK: madr %f7, %f8, %f9
+0xb3 0x3e 0x70 0x89
+
+# CHECK: madr %f15, %f15, %f15
+0xb3 0x3e 0xf0 0xff
+
+# CHECK: mae %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x2e
+
+# CHECK: mae %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x2e
+
+# CHECK: mae %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x2e
+
+# CHECK: mae %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x2e
+
+# CHECK: mae %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x2e
+
+# CHECK: mae %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x2e
+
+# CHECK: mae %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x2e
+
+# CHECK: mae %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x2e
+
+# CHECK: mae %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x2e
+
# CHECK: maeb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0e
@@ -8335,6 +9225,159 @@
# CHECK: maebr %f15, %f15, %f15
0xb3 0x0e 0xf0 0xff
+# CHECK: maer %f0, %f0, %f0
+0xb3 0x2e 0x00 0x00
+
+# CHECK: maer %f0, %f0, %f15
+0xb3 0x2e 0x00 0x0f
+
+# CHECK: maer %f0, %f15, %f0
+0xb3 0x2e 0x00 0xf0
+
+# CHECK: maer %f15, %f0, %f0
+0xb3 0x2e 0xf0 0x00
+
+# CHECK: maer %f7, %f8, %f9
+0xb3 0x2e 0x70 0x89
+
+# CHECK: maer %f15, %f15, %f15
+0xb3 0x2e 0xf0 0xff
+
+# CHECK: may %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3a
+
+# CHECK: may %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3a
+
+# CHECK: may %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3a
+
+# CHECK: may %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3a
+
+# CHECK: may %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3a
+
+# CHECK: may %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3a
+
+# CHECK: may %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3a
+
+# CHECK: may %f13, %f0, 0
+0xed 0x00 0x00 0x00 0xd0 0x3a
+
+# CHECK: may %f13, %f15, 0
+0xed 0xf0 0x00 0x00 0xd0 0x3a
+
+# CHECK: mayh %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3c
+
+# CHECK: mayh %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3c
+
+# CHECK: mayh %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3c
+
+# CHECK: mayh %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3c
+
+# CHECK: mayh %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3c
+
+# CHECK: mayh %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3c
+
+# CHECK: mayh %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3c
+
+# CHECK: mayh %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x3c
+
+# CHECK: mayh %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x3c
+
+# CHECK: mayhr %f0, %f0, %f0
+0xb3 0x3c 0x00 0x00
+
+# CHECK: mayhr %f0, %f0, %f15
+0xb3 0x3c 0x00 0x0f
+
+# CHECK: mayhr %f0, %f15, %f0
+0xb3 0x3c 0x00 0xf0
+
+# CHECK: mayhr %f15, %f0, %f0
+0xb3 0x3c 0xf0 0x00
+
+# CHECK: mayhr %f7, %f8, %f9
+0xb3 0x3c 0x70 0x89
+
+# CHECK: mayhr %f15, %f15, %f15
+0xb3 0x3c 0xf0 0xff
+
+# CHECK: mayl %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x38
+
+# CHECK: mayl %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x38
+
+# CHECK: mayl %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x38
+
+# CHECK: mayl %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x38
+
+# CHECK: mayl %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x38
+
+# CHECK: mayl %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x38
+
+# CHECK: mayl %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x38
+
+# CHECK: mayl %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x38
+
+# CHECK: mayl %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x38
+
+# CHECK: maylr %f0, %f0, %f0
+0xb3 0x38 0x00 0x00
+
+# CHECK: maylr %f0, %f0, %f15
+0xb3 0x38 0x00 0x0f
+
+# CHECK: maylr %f0, %f15, %f0
+0xb3 0x38 0x00 0xf0
+
+# CHECK: maylr %f15, %f0, %f0
+0xb3 0x38 0xf0 0x00
+
+# CHECK: maylr %f7, %f8, %f9
+0xb3 0x38 0x70 0x89
+
+# CHECK: maylr %f15, %f15, %f15
+0xb3 0x38 0xf0 0xff
+
+# CHECK: mayr %f0, %f0, %f0
+0xb3 0x3a 0x00 0x00
+
+# CHECK: mayr %f0, %f0, %f15
+0xb3 0x3a 0x00 0x0f
+
+# CHECK: mayr %f0, %f15, %f0
+0xb3 0x3a 0x00 0xf0
+
+# CHECK: mayr %f13, %f0, %f0
+0xb3 0x3a 0xd0 0x00
+
+# CHECK: mayr %f5, %f8, %f9
+0xb3 0x3a 0x50 0x89
+
+# CHECK: mayr %f13, %f15, %f15
+0xb3 0x3a 0xd0 0xff
+
# CHECK: mc 0, 0
0xaf 0x00 0x00 0x00
@@ -8356,6 +9399,27 @@
# CHECK: mc 4095(%r15), 42
0xaf 0x2a 0xff 0xff
+# CHECK: md %f0, 0
+0x6c 0x00 0x00 0x00
+
+# CHECK: md %f0, 4095
+0x6c 0x00 0x0f 0xff
+
+# CHECK: md %f0, 0(%r1)
+0x6c 0x00 0x10 0x00
+
+# CHECK: md %f0, 0(%r15)
+0x6c 0x00 0xf0 0x00
+
+# CHECK: md %f0, 4095(%r1,%r15)
+0x6c 0x01 0xff 0xff
+
+# CHECK: md %f0, 4095(%r15,%r1)
+0x6c 0x0f 0x1f 0xff
+
+# CHECK: md %f15, 0
+0x6c 0xf0 0x00 0x00
+
# CHECK: mdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1c
@@ -8389,6 +9453,27 @@
# CHECK: mdbr %f15, %f0
0xb3 0x1c 0x00 0xf0
+# CHECK: mde %f0, 0
+0x7c 0x00 0x00 0x00
+
+# CHECK: mde %f0, 4095
+0x7c 0x00 0x0f 0xff
+
+# CHECK: mde %f0, 0(%r1)
+0x7c 0x00 0x10 0x00
+
+# CHECK: mde %f0, 0(%r15)
+0x7c 0x00 0xf0 0x00
+
+# CHECK: mde %f0, 4095(%r1,%r15)
+0x7c 0x01 0xff 0xff
+
+# CHECK: mde %f0, 4095(%r15,%r1)
+0x7c 0x0f 0x1f 0xff
+
+# CHECK: mde %f15, 0
+0x7c 0xf0 0x00 0x00
+
# CHECK: mdeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0c
@@ -8422,6 +9507,51 @@
# CHECK: mdebr %f15, %f0
0xb3 0x0c 0x00 0xf0
+# CHECK: mder %f0, %f0
+0x3c 0x00
+
+# CHECK: mder %f0, %f15
+0x3c 0x0f
+
+# CHECK: mder %f7, %f8
+0x3c 0x78
+
+# CHECK: mder %f15, %f0
+0x3c 0xf0
+
+# CHECK: mdr %f0, %f0
+0x2c 0x00
+
+# CHECK: mdr %f0, %f15
+0x2c 0x0f
+
+# CHECK: mdr %f7, %f8
+0x2c 0x78
+
+# CHECK: mdr %f15, %f0
+0x2c 0xf0
+
+# CHECK: mee %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x37
+
+# CHECK: mee %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x37
+
+# CHECK: mee %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x37
+
+# CHECK: mee %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x37
+
+# CHECK: mee %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x37
+
+# CHECK: mee %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x37
+
+# CHECK: mee %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x37
+
# CHECK: meeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x17
@@ -8455,6 +9585,18 @@
# CHECK: meebr %f15, %f0
0xb3 0x17 0x00 0xf0
+# CHECK: meer %f0, %f0
+0xb3 0x37 0x00 0x00
+
+# CHECK: meer %f0, %f15
+0xb3 0x37 0x00 0x0f
+
+# CHECK: meer %f7, %f8
+0xb3 0x37 0x00 0x78
+
+# CHECK: meer %f15, %f0
+0xb3 0x37 0x00 0xf0
+
# CHECK: mfy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5c
@@ -8731,6 +9873,33 @@
# CHECK: ms %r15, 0
0x71 0xf0 0x00 0x00
+# CHECK: msd %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3f
+
+# CHECK: msd %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3f
+
+# CHECK: msd %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3f
+
+# CHECK: msd %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3f
+
+# CHECK: msd %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3f
+
+# CHECK: msd %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3f
+
+# CHECK: msd %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3f
+
+# CHECK: msd %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x3f
+
+# CHECK: msd %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x3f
+
# CHECK: msdb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1f
@@ -8776,6 +9945,51 @@
# CHECK: msdbr %f15, %f15, %f15
0xb3 0x1f 0xf0 0xff
+# CHECK: msdr %f0, %f0, %f0
+0xb3 0x3f 0x00 0x00
+
+# CHECK: msdr %f0, %f0, %f15
+0xb3 0x3f 0x00 0x0f
+
+# CHECK: msdr %f0, %f15, %f0
+0xb3 0x3f 0x00 0xf0
+
+# CHECK: msdr %f15, %f0, %f0
+0xb3 0x3f 0xf0 0x00
+
+# CHECK: msdr %f7, %f8, %f9
+0xb3 0x3f 0x70 0x89
+
+# CHECK: msdr %f15, %f15, %f15
+0xb3 0x3f 0xf0 0xff
+
+# CHECK: mse %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x2f
+
+# CHECK: mse %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x2f
+
+# CHECK: mse %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x2f
+
+# CHECK: mse %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x2f
+
+# CHECK: mse %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x2f
+
+# CHECK: mse %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x2f
+
+# CHECK: mse %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x2f
+
+# CHECK: mse %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x2f
+
+# CHECK: mse %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x2f
+
# CHECK: mseb %f0, %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0f
@@ -8821,6 +10035,24 @@
# CHECK: msebr %f15, %f15, %f15
0xb3 0x0f 0xf0 0xff
+# CHECK: mser %f0, %f0, %f0
+0xb3 0x2f 0x00 0x00
+
+# CHECK: mser %f0, %f0, %f15
+0xb3 0x2f 0x00 0x0f
+
+# CHECK: mser %f0, %f15, %f0
+0xb3 0x2f 0x00 0xf0
+
+# CHECK: mser %f15, %f0, %f0
+0xb3 0x2f 0xf0 0x00
+
+# CHECK: mser %f7, %f8, %f9
+0xb3 0x2f 0x70 0x89
+
+# CHECK: mser %f15, %f15, %f15
+0xb3 0x2f 0xf0 0xff
+
# CHECK: msfi %r0, -2147483648
0xc2 0x01 0x80 0x00 0x00 0x00
@@ -9427,6 +10659,27 @@
# CHECK: mxbr %f13, %f13
0xb3 0x4c 0x00 0xdd
+# CHECK: mxd %f0, 0
+0x67 0x00 0x00 0x00
+
+# CHECK: mxd %f0, 4095
+0x67 0x00 0x0f 0xff
+
+# CHECK: mxd %f0, 0(%r1)
+0x67 0x00 0x10 0x00
+
+# CHECK: mxd %f0, 0(%r15)
+0x67 0x00 0xf0 0x00
+
+# CHECK: mxd %f0, 4095(%r1,%r15)
+0x67 0x01 0xff 0xff
+
+# CHECK: mxd %f0, 4095(%r15,%r1)
+0x67 0x0f 0x1f 0xff
+
+# CHECK: mxd %f13, 0
+0x67 0xd0 0x00 0x00
+
# CHECK: mxdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x07
@@ -9460,6 +10713,165 @@
# CHECK: mxdbr %f13, %f0
0xb3 0x07 0x00 0xd0
+# CHECK: mxdr %f0, %f0
+0x27 0x00
+
+# CHECK: mxdr %f0, %f15
+0x27 0x0f
+
+# CHECK: mxdr %f8, %f8
+0x27 0x88
+
+# CHECK: mxdr %f13, %f0
+0x27 0xd0
+
+# CHECK: mxr %f0, %f0
+0x26 0x00
+
+# CHECK: mxr %f0, %f13
+0x26 0x0d
+
+# CHECK: mxr %f8, %f5
+0x26 0x85
+
+# CHECK: mxr %f13, %f13
+0x26 0xdd
+
+# CHECK: my %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3b
+
+# CHECK: my %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3b
+
+# CHECK: my %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3b
+
+# CHECK: my %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3b
+
+# CHECK: my %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3b
+
+# CHECK: my %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3b
+
+# CHECK: my %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3b
+
+# CHECK: my %f13, %f0, 0
+0xed 0x00 0x00 0x00 0xd0 0x3b
+
+# CHECK: my %f13, %f15, 0
+0xed 0xf0 0x00 0x00 0xd0 0x3b
+
+# CHECK: myh %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x3d
+
+# CHECK: myh %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x3d
+
+# CHECK: myh %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x3d
+
+# CHECK: myh %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x3d
+
+# CHECK: myh %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x3d
+
+# CHECK: myh %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x3d
+
+# CHECK: myh %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x3d
+
+# CHECK: myh %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x3d
+
+# CHECK: myh %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x3d
+
+# CHECK: myhr %f0, %f0, %f0
+0xb3 0x3d 0x00 0x00
+
+# CHECK: myhr %f0, %f0, %f15
+0xb3 0x3d 0x00 0x0f
+
+# CHECK: myhr %f0, %f15, %f0
+0xb3 0x3d 0x00 0xf0
+
+# CHECK: myhr %f15, %f0, %f0
+0xb3 0x3d 0xf0 0x00
+
+# CHECK: myhr %f7, %f8, %f9
+0xb3 0x3d 0x70 0x89
+
+# CHECK: myhr %f15, %f15, %f15
+0xb3 0x3d 0xf0 0xff
+
+# CHECK: myl %f0, %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x39
+
+# CHECK: myl %f0, %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x39
+
+# CHECK: myl %f0, %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x39
+
+# CHECK: myl %f0, %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x39
+
+# CHECK: myl %f0, %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x39
+
+# CHECK: myl %f0, %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x39
+
+# CHECK: myl %f0, %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x39
+
+# CHECK: myl %f15, %f0, 0
+0xed 0x00 0x00 0x00 0xf0 0x39
+
+# CHECK: myl %f15, %f15, 0
+0xed 0xf0 0x00 0x00 0xf0 0x39
+
+# CHECK: mylr %f0, %f0, %f0
+0xb3 0x39 0x00 0x00
+
+# CHECK: mylr %f0, %f0, %f15
+0xb3 0x39 0x00 0x0f
+
+# CHECK: mylr %f0, %f15, %f0
+0xb3 0x39 0x00 0xf0
+
+# CHECK: mylr %f15, %f0, %f0
+0xb3 0x39 0xf0 0x00
+
+# CHECK: mylr %f7, %f8, %f9
+0xb3 0x39 0x70 0x89
+
+# CHECK: mylr %f15, %f15, %f15
+0xb3 0x39 0xf0 0xff
+
+# CHECK: myr %f0, %f0, %f0
+0xb3 0x3b 0x00 0x00
+
+# CHECK: myr %f0, %f0, %f15
+0xb3 0x3b 0x00 0x0f
+
+# CHECK: myr %f0, %f15, %f0
+0xb3 0x3b 0x00 0xf0
+
+# CHECK: myr %f13, %f0, %f0
+0xb3 0x3b 0xd0 0x00
+
+# CHECK: myr %f5, %f8, %f9
+0xb3 0x3b 0x50 0x89
+
+# CHECK: myr %f13, %f15, %f15
+0xb3 0x3b 0xd0 0xff
+
# CHECK: n %r0, 0
0x54 0x00 0x00 0x00
@@ -10504,6 +11916,27 @@
# CHECK: sar %a15, %r15
0xb2 0x4e 0x00 0xff
+# CHECK: sd %f0, 0
+0x6b 0x00 0x00 0x00
+
+# CHECK: sd %f0, 4095
+0x6b 0x00 0x0f 0xff
+
+# CHECK: sd %f0, 0(%r1)
+0x6b 0x00 0x10 0x00
+
+# CHECK: sd %f0, 0(%r15)
+0x6b 0x00 0xf0 0x00
+
+# CHECK: sd %f0, 4095(%r1,%r15)
+0x6b 0x01 0xff 0xff
+
+# CHECK: sd %f0, 4095(%r15,%r1)
+0x6b 0x0f 0x1f 0xff
+
+# CHECK: sd %f15, 0
+0x6b 0xf0 0x00 0x00
+
# CHECK: sdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x1b
@@ -10537,6 +11970,39 @@
# CHECK: sdbr %f15, %f0
0xb3 0x1b 0x00 0xf0
+# CHECK: sdr %f0, %f0
+0x2b 0x00
+
+# CHECK: sdr %f0, %f15
+0x2b 0x0f
+
+# CHECK: sdr %f7, %f8
+0x2b 0x78
+
+# CHECK: sdr %f15, %f0
+0x2b 0xf0
+
+# CHECK: se %f0, 0
+0x7b 0x00 0x00 0x00
+
+# CHECK: se %f0, 4095
+0x7b 0x00 0x0f 0xff
+
+# CHECK: se %f0, 0(%r1)
+0x7b 0x00 0x10 0x00
+
+# CHECK: se %f0, 0(%r15)
+0x7b 0x00 0xf0 0x00
+
+# CHECK: se %f0, 4095(%r1,%r15)
+0x7b 0x01 0xff 0xff
+
+# CHECK: se %f0, 4095(%r15,%r1)
+0x7b 0x0f 0x1f 0xff
+
+# CHECK: se %f15, 0
+0x7b 0xf0 0x00 0x00
+
# CHECK: seb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x0b
@@ -10570,6 +12036,18 @@
# CHECK: sebr %f15, %f0
0xb3 0x0b 0x00 0xf0
+# CHECK: ser %f0, %f0
+0x3b 0x00
+
+# CHECK: ser %f0, %f15
+0x3b 0x0f
+
+# CHECK: ser %f7, %f8
+0x3b 0x78
+
+# CHECK: ser %f15, %f0
+0x3b 0xf0
+
# CHECK: sfasr %r0
0xb3 0x85 0x00 0x00
@@ -11281,6 +12759,27 @@
# CHECK: spm %r15
0x04 0xf0
+# CHECK: sqd %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x35
+
+# CHECK: sqd %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x35
+
+# CHECK: sqd %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x35
+
+# CHECK: sqd %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x35
+
+# CHECK: sqd %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x35
+
+# CHECK: sqd %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x35
+
+# CHECK: sqd %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x35
+
# CHECK: sqdb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x15
@@ -11314,6 +12813,39 @@
# CHECK: sqdbr %f15, %f0
0xb3 0x15 0x00 0xf0
+# CHECK: sqdr %f0, %f0
+0xb2 0x44 0x00 0x00
+
+# CHECK: sqdr %f0, %f15
+0xb2 0x44 0x00 0x0f
+
+# CHECK: sqdr %f7, %f8
+0xb2 0x44 0x00 0x78
+
+# CHECK: sqdr %f15, %f0
+0xb2 0x44 0x00 0xf0
+
+# CHECK: sqe %f0, 0
+0xed 0x00 0x00 0x00 0x00 0x34
+
+# CHECK: sqe %f0, 4095
+0xed 0x00 0x0f 0xff 0x00 0x34
+
+# CHECK: sqe %f0, 0(%r1)
+0xed 0x00 0x10 0x00 0x00 0x34
+
+# CHECK: sqe %f0, 0(%r15)
+0xed 0x00 0xf0 0x00 0x00 0x34
+
+# CHECK: sqe %f0, 4095(%r1,%r15)
+0xed 0x01 0xff 0xff 0x00 0x34
+
+# CHECK: sqe %f0, 4095(%r15,%r1)
+0xed 0x0f 0x1f 0xff 0x00 0x34
+
+# CHECK: sqe %f15, 0
+0xed 0xf0 0x00 0x00 0x00 0x34
+
# CHECK: sqeb %f0, 0
0xed 0x00 0x00 0x00 0x00 0x14
@@ -11347,6 +12879,18 @@
# CHECK: sqebr %f15, %f0
0xb3 0x14 0x00 0xf0
+# CHECK: sqer %f0, %f0
+0xb2 0x45 0x00 0x00
+
+# CHECK: sqer %f0, %f15
+0xb2 0x45 0x00 0x0f
+
+# CHECK: sqer %f7, %f8
+0xb2 0x45 0x00 0x78
+
+# CHECK: sqer %f15, %f0
+0xb2 0x45 0x00 0xf0
+
# CHECK: sqxbr %f0, %f0
0xb3 0x16 0x00 0x00
@@ -11359,6 +12903,18 @@
# CHECK: sqxbr %f13, %f0
0xb3 0x16 0x00 0xd0
+# CHECK: sqxr %f0, %f0
+0xb3 0x36 0x00 0x00
+
+# CHECK: sqxr %f0, %f13
+0xb3 0x36 0x00 0x0d
+
+# CHECK: sqxr %f8, %f8
+0xb3 0x36 0x00 0x88
+
+# CHECK: sqxr %f13, %f0
+0xb3 0x36 0x00 0xd0
+
# CHECK: sr %r0, %r0
0x1b 0x00
@@ -12730,6 +14286,39 @@
# CHECK: sty %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x50
+# CHECK: su %f0, 0
+0x7f 0x00 0x00 0x00
+
+# CHECK: su %f0, 4095
+0x7f 0x00 0x0f 0xff
+
+# CHECK: su %f0, 0(%r1)
+0x7f 0x00 0x10 0x00
+
+# CHECK: su %f0, 0(%r15)
+0x7f 0x00 0xf0 0x00
+
+# CHECK: su %f0, 4095(%r1,%r15)
+0x7f 0x01 0xff 0xff
+
+# CHECK: su %f0, 4095(%r15,%r1)
+0x7f 0x0f 0x1f 0xff
+
+# CHECK: su %f15, 0
+0x7f 0xf0 0x00 0x00
+
+# CHECK: sur %f0, %f0
+0x3f 0x00
+
+# CHECK: sur %f0, %f15
+0x3f 0x0f
+
+# CHECK: sur %f7, %f8
+0x3f 0x78
+
+# CHECK: sur %f15, %f0
+0x3f 0xf0
+
# CHECK: svc 0
0x0a 0x00
@@ -12742,6 +14331,39 @@
# CHECK: svc 255
0x0a 0xff
+# CHECK: sw %f0, 0
+0x6f 0x00 0x00 0x00
+
+# CHECK: sw %f0, 4095
+0x6f 0x00 0x0f 0xff
+
+# CHECK: sw %f0, 0(%r1)
+0x6f 0x00 0x10 0x00
+
+# CHECK: sw %f0, 0(%r15)
+0x6f 0x00 0xf0 0x00
+
+# CHECK: sw %f0, 4095(%r1,%r15)
+0x6f 0x01 0xff 0xff
+
+# CHECK: sw %f0, 4095(%r15,%r1)
+0x6f 0x0f 0x1f 0xff
+
+# CHECK: sw %f15, 0
+0x6f 0xf0 0x00 0x00
+
+# CHECK: swr %f0, %f0
+0x2f 0x00
+
+# CHECK: swr %f0, %f15
+0x2f 0x0f
+
+# CHECK: swr %f7, %f8
+0x2f 0x78
+
+# CHECK: swr %f15, %f0
+0x2f 0xf0
+
# CHECK: sxbr %f0, %f0
0xb3 0x4b 0x00 0x00
@@ -12754,6 +14376,18 @@
# CHECK: sxbr %f13, %f0
0xb3 0x4b 0x00 0xd0
+# CHECK: sxr %f0, %f0
+0x37 0x00
+
+# CHECK: sxr %f0, %f13
+0x37 0x0d
+
+# CHECK: sxr %f8, %f8
+0x37 0x88
+
+# CHECK: sxr %f13, %f0
+0x37 0xd0
+
# CHECK: sy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x5b
@@ -12805,6 +14439,36 @@
# CHECK: tam
0x01 0x0b
+# CHECK: tbdr %f0, 0, %f0
+0xb3 0x51 0x00 0x00
+
+# CHECK: tbdr %f0, 0, %f15
+0xb3 0x51 0x00 0x0f
+
+# CHECK: tbdr %f0, 15, %f0
+0xb3 0x51 0xf0 0x00
+
+# CHECK: tbdr %f4, 5, %f6
+0xb3 0x51 0x50 0x46
+
+# CHECK: tbdr %f15, 0, %f0
+0xb3 0x51 0x00 0xf0
+
+# CHECK: tbedr %f0, 0, %f0
+0xb3 0x50 0x00 0x00
+
+# CHECK: tbedr %f0, 0, %f15
+0xb3 0x50 0x00 0x0f
+
+# CHECK: tbedr %f0, 15, %f0
+0xb3 0x50 0xf0 0x00
+
+# CHECK: tbedr %f4, 5, %f6
+0xb3 0x50 0x50 0x46
+
+# CHECK: tbedr %f15, 0, %f0
+0xb3 0x50 0x00 0xf0
+
# CHECK: tbegin 0, 0
0xe5 0x60 0x00 0x00 0x00 0x00
@@ -12937,6 +14601,30 @@
# CHECK: tend
0xb2 0xf8 0x00 0x00
+# CHECK: thder %f0, %f9
+0xb3 0x58 0x00 0x09
+
+# CHECK: thder %f0, %f15
+0xb3 0x58 0x00 0x0f
+
+# CHECK: thder %f15, %f0
+0xb3 0x58 0x00 0xf0
+
+# CHECK: thder %f15, %f9
+0xb3 0x58 0x00 0xf9
+
+# CHECK: thdr %f0, %f9
+0xb3 0x59 0x00 0x09
+
+# CHECK: thdr %f0, %f15
+0xb3 0x59 0x00 0x0f
+
+# CHECK: thdr %f15, %f0
+0xb3 0x59 0x00 0xf0
+
+# CHECK: thdr %f15, %f9
+0xb3 0x59 0x00 0xf9
+
# CHECK: tm 0, 0
0x91 0x00 0x00 0x00
Modified: llvm/trunk/test/MC/SystemZ/insn-bad.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/SystemZ/insn-bad.s?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/test/MC/SystemZ/insn-bad.s (original)
+++ llvm/trunk/test/MC/SystemZ/insn-bad.s Tue May 30 05:13:23 2017
@@ -13,6 +13,14 @@
a %r0, 4096
#CHECK: error: invalid operand
+#CHECK: ad %f0, -1
+#CHECK: error: invalid operand
+#CHECK: ad %f0, 4096
+
+ ad %f0, -1
+ ad %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: adb %f0, -1
#CHECK: error: invalid operand
#CHECK: adb %f0, 4096
@@ -21,6 +29,14 @@
adb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: ae %f0, -1
+#CHECK: error: invalid operand
+#CHECK: ae %f0, 4096
+
+ ae %f0, -1
+ ae %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: aeb %f0, -1
#CHECK: error: invalid operand
#CHECK: aeb %f0, 4096
@@ -328,6 +344,22 @@
asi 0, -129
asi 0, 128
+#CHECK: error: invalid operand
+#CHECK: au %f0, -1
+#CHECK: error: invalid operand
+#CHECK: au %f0, 4096
+
+ au %f0, -1
+ au %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: aw %f0, -1
+#CHECK: error: invalid operand
+#CHECK: aw %f0, 4096
+
+ aw %f0, -1
+ aw %f0, 4096
+
#CHECK: error: invalid register pair
#CHECK: axbr %f0, %f2
#CHECK: error: invalid register pair
@@ -336,6 +368,13 @@
axbr %f0, %f2
axbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: axr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: axr %f2, %f0
+
+ axr %f0, %f2
+ axr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ay %r0, -524289
@@ -613,6 +652,14 @@
c %r0, 4096
#CHECK: error: invalid operand
+#CHECK: cd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: cd %f0, 4096
+
+ cd %f0, -1
+ cd %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: cdb %f0, -1
#CHECK: error: invalid operand
#CHECK: cdb %f0, 4096
@@ -692,6 +739,14 @@
cdsy %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
+#CHECK: ce %f0, -1
+#CHECK: error: invalid operand
+#CHECK: ce %f0, 4096
+
+ ce %f0, -1
+ ce %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: ceb %f0, -1
#CHECK: error: invalid operand
#CHECK: ceb %f0, 4096
@@ -781,6 +836,17 @@
cfxbra %r0, 0, %f0, 0
#CHECK: error: invalid operand
+#CHECK: cfxr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cfxr %r0, 16, %f0
+#CHECK: error: invalid register pair
+#CHECK: cfxr %r0, 0, %f2
+
+ cfxr %r0, -1, %f0
+ cfxr %r0, 16, %f0
+ cfxr %r0, 0, %f2
+
+#CHECK: error: invalid operand
#CHECK: cg %r0, -524289
#CHECK: error: invalid operand
#CHECK: cg %r0, 524288
@@ -999,6 +1065,17 @@
cgxbra %r0, 0, %f0, 0
#CHECK: error: invalid operand
+#CHECK: cgxr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cgxr %r0, 16, %f0
+#CHECK: error: invalid register pair
+#CHECK: cgxr %r0, 0, %f2
+
+ cgxr %r0, -1, %f0
+ cgxr %r0, 16, %f0
+ cgxr %r0, 0, %f2
+
+#CHECK: error: invalid operand
#CHECK: ch %r0, -1
#CHECK: error: invalid operand
#CHECK: ch %r0, 4096
@@ -1967,6 +2044,11 @@
cxfbra %f0, 0, %r0, 0
#CHECK: error: invalid register pair
+#CHECK: cxfr %f2, %r0
+
+ cxfr %f2, %r0
+
+#CHECK: error: invalid register pair
#CHECK: cxgbr %f2, %r0
cxgbr %f2, %r0
@@ -1976,6 +2058,11 @@
cxgbra %f0, 0, %r0, 0
+#CHECK: error: invalid register pair
+#CHECK: cxgr %f2, %r0
+
+ cxgr %f2, %r0
+
#CHECK: error: instruction requires: fp-extension
#CHECK: cxlfbr %f0, 0, %r0, 0
@@ -1986,6 +2073,14 @@
cxlgbr %f0, 0, %r0, 0
+#CHECK: error: invalid register pair
+#CHECK: cxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: cxr %f2, %f0
+
+ cxr %f0, %f2
+ cxr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: cy %r0, -524289
#CHECK: error: invalid operand
@@ -2006,6 +2101,14 @@
d %r1, 0
#CHECK: error: invalid operand
+#CHECK: dd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: dd %f0, 4096
+
+ dd %f0, -1
+ dd %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: ddb %f0, -1
#CHECK: error: invalid operand
#CHECK: ddb %f0, 4096
@@ -2014,6 +2117,14 @@
ddb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: de %f0, -1
+#CHECK: error: invalid operand
+#CHECK: de %f0, 4096
+
+ de %f0, -1
+ de %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: deb %f0, -1
#CHECK: error: invalid operand
#CHECK: deb %f0, 4096
@@ -2167,6 +2278,14 @@
dxbr %f0, %f2
dxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: dxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: dxr %f2, %f0
+
+ dxr %f0, %f2
+ dxr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: ecag %r0, %r0, -524289
#CHECK: error: invalid operand
@@ -2337,6 +2456,14 @@
fixbra %f0, 0, %f0, 0
#CHECK: error: invalid register pair
+#CHECK: fixr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: fixr %f2, %f0
+
+ fixr %f0, %f2
+ fixr %f2, %f0
+
+#CHECK: error: invalid register pair
#CHECK: flogr %r1, %r0
flogr %r1, %r0
@@ -2651,6 +2778,14 @@
lcxbr %f0, %f2
lcxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: lcxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: lcxr %f2, %f0
+
+ lcxr %f0, %f2
+ lcxr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: ld %f0, -1
#CHECK: error: invalid operand
@@ -2680,6 +2815,11 @@
ldxbra %f0, 0, %f0, 0
+#CHECK: error: invalid register pair
+#CHECK: ldxr %f0, %f2
+
+ ldxr %f0, %f2
+
#CHECK: error: invalid operand
#CHECK: ldy %f0, -524289
#CHECK: error: invalid operand
@@ -2714,6 +2854,11 @@
lexbra %f0, 0, %f0, 0
+#CHECK: error: invalid register pair
+#CHECK: lexr %f0, %f2
+
+ lexr %f0, %f2
+
#CHECK: error: invalid operand
#CHECK: ley %f0, -524289
#CHECK: error: invalid operand
@@ -3102,6 +3247,14 @@
lnxbr %f0, %f2
lnxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: lnxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: lnxr %f2, %f0
+
+ lnxr %f0, %f2
+ lnxr %f2, %f0
+
#CHECK: error: instruction requires: interlocked-access1
#CHECK: lpd %r0, 0, 0
lpd %r0, 0, 0
@@ -3129,6 +3282,19 @@
lpxbr %f0, %f2
lpxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: lpxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: lpxr %f2, %f0
+
+ lpxr %f0, %f2
+ lpxr %f2, %f0
+
+#CHECK: error: invalid register pair
+#CHECK: lrdr %f0, %f2
+
+ lrdr %f0, %f2
+
#CHECK: error: offset out of range
#CHECK: lrl %r0, -0x1000000002
#CHECK: error: offset out of range
@@ -3191,6 +3357,25 @@
ltxbr %f0, %f14
ltxbr %f14, %f0
+#CHECK: error: invalid register pair
+#CHECK: ltxr %f0, %f14
+#CHECK: error: invalid register pair
+#CHECK: ltxr %f14, %f0
+
+ ltxr %f0, %f14
+ ltxr %f14, %f0
+
+#CHECK: error: invalid operand
+#CHECK: lxd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: lxd %f0, 4096
+#CHECK: error: invalid register pair
+#CHECK: lxd %f2, 0
+
+ lxd %f0, -1
+ lxd %f0, 4096
+ lxd %f2, 0
+
#CHECK: error: invalid operand
#CHECK: lxdb %f0, -1
#CHECK: error: invalid operand
@@ -3207,6 +3392,22 @@
lxdbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: lxdr %f2, %f0
+
+ lxdr %f2, %f0
+
+#CHECK: error: invalid operand
+#CHECK: lxe %f0, -1
+#CHECK: error: invalid operand
+#CHECK: lxe %f0, 4096
+#CHECK: error: invalid register pair
+#CHECK: lxe %f2, 0
+
+ lxe %f0, -1
+ lxe %f0, 4096
+ lxe %f2, 0
+
#CHECK: error: invalid operand
#CHECK: lxeb %f0, -1
#CHECK: error: invalid operand
@@ -3224,6 +3425,11 @@
lxebr %f2, %f0
#CHECK: error: invalid register pair
+#CHECK: lxer %f2, %f0
+
+ lxer %f2, %f0
+
+#CHECK: error: invalid register pair
#CHECK: lxr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lxr %f2, %f0
@@ -3256,6 +3462,14 @@
m %r1, 0
#CHECK: error: invalid operand
+#CHECK: mad %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mad %f0, %f0, 4096
+
+ mad %f0, %f0, -1
+ mad %f0, %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, 4096
@@ -3264,6 +3478,14 @@
madb %f0, %f0, 4096
#CHECK: error: invalid operand
+#CHECK: mae %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mae %f0, %f0, 4096
+
+ mae %f0, %f0, -1
+ mae %f0, %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: maeb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: maeb %f0, %f0, 4096
@@ -3272,6 +3494,38 @@
maeb %f0, %f0, 4096
#CHECK: error: invalid operand
+#CHECK: may %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: may %f0, %f0, 4096
+#CHECK: error: invalid register pair
+#CHECK: may %f2, %f0, 0
+
+ may %f0, %f0, -1
+ may %f0, %f0, 4096
+ may %f2, %f0, 0
+
+#CHECK: error: invalid operand
+#CHECK: mayh %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mayh %f0, %f0, 4096
+
+ mayh %f0, %f0, -1
+ mayh %f0, %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: mayl %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mayl %f0, %f0, 4096
+
+ mayl %f0, %f0, -1
+ mayl %f0, %f0, 4096
+
+#CHECK: error: invalid register pair
+#CHECK: mayr %f2, %f0, %f0
+
+ mayr %f2, %f0, %f0
+
+#CHECK: error: invalid operand
#CHECK: mc -1, 0
#CHECK: error: invalid operand
#CHECK: mc 4096, 0
@@ -3289,6 +3543,14 @@
mc 0, 256
#CHECK: error: invalid operand
+#CHECK: md %f0, -1
+#CHECK: error: invalid operand
+#CHECK: md %f0, 4096
+
+ md %f0, -1
+ md %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: mdb %f0, -1
#CHECK: error: invalid operand
#CHECK: mdb %f0, 4096
@@ -3297,6 +3559,14 @@
mdb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: mde %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mde %f0, 4096
+
+ mde %f0, -1
+ mde %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: mdeb %f0, -1
#CHECK: error: invalid operand
#CHECK: mdeb %f0, 4096
@@ -3305,6 +3575,22 @@
mdeb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: me %f0, -1
+#CHECK: error: invalid operand
+#CHECK: me %f0, 4096
+
+ me %f0, -1
+ me %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: mee %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mee %f0, 4096
+
+ mee %f0, -1
+ mee %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: meeb %f0, -1
#CHECK: error: invalid operand
#CHECK: meeb %f0, 4096
@@ -3460,6 +3746,14 @@
ms %r0, 4096
#CHECK: error: invalid operand
+#CHECK: msd %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: msd %f0, %f0, 4096
+
+ msd %f0, %f0, -1
+ msd %f0, %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: msdb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: msdb %f0, %f0, 4096
@@ -3468,6 +3762,14 @@
msdb %f0, %f0, 4096
#CHECK: error: invalid operand
+#CHECK: mse %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mse %f0, %f0, 4096
+
+ mse %f0, %f0, -1
+ mse %f0, %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: mseb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: mseb %f0, %f0, 4096
@@ -3903,6 +4205,17 @@
mxbr %f2, %f0
#CHECK: error: invalid register pair
+#CHECK: mxd %f2, 0
+#CHECK: error: invalid operand
+#CHECK: mxd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mxd %f0, 4096
+
+ mxd %f2, 0
+ mxd %f0, -1
+ mxd %f0, 4096
+
+#CHECK: error: invalid register pair
#CHECK: mxdb %f2, 0
#CHECK: error: invalid operand
#CHECK: mxdb %f0, -1
@@ -3918,6 +4231,51 @@
mxdbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: mxdr %f2, %f0
+
+ mxdr %f2, %f0
+
+#CHECK: error: invalid register pair
+#CHECK: mxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: mxr %f2, %f0
+
+ mxr %f0, %f2
+ mxr %f2, %f0
+
+#CHECK: error: invalid operand
+#CHECK: my %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: my %f0, %f0, 4096
+#CHECK: error: invalid register pair
+#CHECK: my %f2, %f0, 0
+
+ my %f0, %f0, -1
+ my %f0, %f0, 4096
+ my %f2, %f0, 0
+
+#CHECK: error: invalid operand
+#CHECK: myh %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: myh %f0, %f0, 4096
+
+ myh %f0, %f0, -1
+ myh %f0, %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: myl %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: myl %f0, %f0, 4096
+
+ myl %f0, %f0, -1
+ myl %f0, %f0, 4096
+
+#CHECK: error: invalid register pair
+#CHECK: myr %f2, %f0, %f0
+
+ myr %f2, %f0, %f0
+
#CHECK: error: invalid operand
#CHECK: n %r0, -1
#CHECK: error: invalid operand
@@ -4571,6 +4929,14 @@
s %r0, 4096
#CHECK: error: invalid operand
+#CHECK: sd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: sd %f0, 4096
+
+ sd %f0, -1
+ sd %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: sdb %f0, -1
#CHECK: error: invalid operand
#CHECK: sdb %f0, 4096
@@ -4579,6 +4945,14 @@
sdb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: se %f0, -1
+#CHECK: error: invalid operand
+#CHECK: se %f0, 4096
+
+ se %f0, -1
+ se %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: seb %f0, -1
#CHECK: error: invalid operand
#CHECK: seb %f0, 4096
@@ -4851,6 +5225,14 @@
sp 0(-), 0(1)
#CHECK: error: invalid operand
+#CHECK: sqd %f0, -1
+#CHECK: error: invalid operand
+#CHECK: sqd %f0, 4096
+
+ sqd %f0, -1
+ sqd %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: sqdb %f0, -1
#CHECK: error: invalid operand
#CHECK: sqdb %f0, 4096
@@ -4859,6 +5241,14 @@
sqdb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: sqe %f0, -1
+#CHECK: error: invalid operand
+#CHECK: sqe %f0, 4096
+
+ sqe %f0, -1
+ sqe %f0, 4096
+
+#CHECK: error: invalid operand
#CHECK: sqeb %f0, -1
#CHECK: error: invalid operand
#CHECK: sqeb %f0, 4096
@@ -4874,6 +5264,14 @@
sqxbr %f0, %f2
sqxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: sqxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: sqxr %f2, %f0
+
+ sqxr %f0, %f2
+ sqxr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: sra %r0,-1
#CHECK: error: invalid operand
@@ -5358,6 +5756,22 @@
sty %r0, -524289
sty %r0, 524288
+#CHECK: error: invalid operand
+#CHECK: su %f0, -1
+#CHECK: error: invalid operand
+#CHECK: su %f0, 4096
+
+ su %f0, -1
+ su %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: sw %f0, -1
+#CHECK: error: invalid operand
+#CHECK: sw %f0, 4096
+
+ sw %f0, -1
+ sw %f0, 4096
+
#CHECK: error: invalid register pair
#CHECK: sxbr %f0, %f2
#CHECK: error: invalid register pair
@@ -5366,6 +5780,14 @@
sxbr %f0, %f2
sxbr %f2, %f0
+#CHECK: error: invalid register pair
+#CHECK: sxr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: sxr %f2, %f0
+
+ sxr %f0, %f2
+ sxr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: sy %r0, -524289
#CHECK: error: invalid operand
@@ -5375,6 +5797,22 @@
sy %r0, 524288
#CHECK: error: invalid operand
+#CHECK: tbdr %f0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: tbdr %f0, 16, %f0
+
+ tbdr %f0, -1, %f0
+ tbdr %f0, 16, %f0
+
+#CHECK: error: invalid operand
+#CHECK: tbedr %f0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: tbedr %f0, 16, %f0
+
+ tbedr %f0, -1, %f0
+ tbedr %f0, 16, %f0
+
+#CHECK: error: invalid operand
#CHECK: tcdb %f0, -1
#CHECK: error: invalid operand
#CHECK: tcdb %f0, 4096
Modified: llvm/trunk/test/MC/SystemZ/insn-good.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/SystemZ/insn-good.s?rev=304202&r1=304201&r2=304202&view=diff
==============================================================================
--- llvm/trunk/test/MC/SystemZ/insn-good.s (original)
+++ llvm/trunk/test/MC/SystemZ/insn-good.s Tue May 30 05:13:23 2017
@@ -17,6 +17,22 @@
a %r0, 4095(%r15,%r1)
a %r15, 0
+#CHECK: ad %f0, 0 # encoding: [0x6a,0x00,0x00,0x00]
+#CHECK: ad %f0, 4095 # encoding: [0x6a,0x00,0x0f,0xff]
+#CHECK: ad %f0, 0(%r1) # encoding: [0x6a,0x00,0x10,0x00]
+#CHECK: ad %f0, 0(%r15) # encoding: [0x6a,0x00,0xf0,0x00]
+#CHECK: ad %f0, 4095(%r1,%r15) # encoding: [0x6a,0x01,0xff,0xff]
+#CHECK: ad %f0, 4095(%r15,%r1) # encoding: [0x6a,0x0f,0x1f,0xff]
+#CHECK: ad %f15, 0 # encoding: [0x6a,0xf0,0x00,0x00]
+
+ ad %f0, 0
+ ad %f0, 4095
+ ad %f0, 0(%r1)
+ ad %f0, 0(%r15)
+ ad %f0, 4095(%r1,%r15)
+ ad %f0, 4095(%r15,%r1)
+ ad %f15, 0
+
#CHECK: adb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1a]
#CHECK: adb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1a]
#CHECK: adb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1a]
@@ -43,6 +59,32 @@
adbr %f7, %f8
adbr %f15, %f0
+#CHECK: adr %f0, %f0 # encoding: [0x2a,0x00]
+#CHECK: adr %f0, %f15 # encoding: [0x2a,0x0f]
+#CHECK: adr %f7, %f8 # encoding: [0x2a,0x78]
+#CHECK: adr %f15, %f0 # encoding: [0x2a,0xf0]
+
+ adr %f0, %f0
+ adr %f0, %f15
+ adr %f7, %f8
+ adr %f15, %f0
+
+#CHECK: ae %f0, 0 # encoding: [0x7a,0x00,0x00,0x00]
+#CHECK: ae %f0, 4095 # encoding: [0x7a,0x00,0x0f,0xff]
+#CHECK: ae %f0, 0(%r1) # encoding: [0x7a,0x00,0x10,0x00]
+#CHECK: ae %f0, 0(%r15) # encoding: [0x7a,0x00,0xf0,0x00]
+#CHECK: ae %f0, 4095(%r1,%r15) # encoding: [0x7a,0x01,0xff,0xff]
+#CHECK: ae %f0, 4095(%r15,%r1) # encoding: [0x7a,0x0f,0x1f,0xff]
+#CHECK: ae %f15, 0 # encoding: [0x7a,0xf0,0x00,0x00]
+
+ ae %f0, 0
+ ae %f0, 4095
+ ae %f0, 0(%r1)
+ ae %f0, 0(%r15)
+ ae %f0, 4095(%r1,%r15)
+ ae %f0, 4095(%r15,%r1)
+ ae %f15, 0
+
#CHECK: aeb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0a]
#CHECK: aeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0a]
#CHECK: aeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0a]
@@ -69,6 +111,16 @@
aebr %f7, %f8
aebr %f15, %f0
+#CHECK: aer %f0, %f0 # encoding: [0x3a,0x00]
+#CHECK: aer %f0, %f15 # encoding: [0x3a,0x0f]
+#CHECK: aer %f7, %f8 # encoding: [0x3a,0x78]
+#CHECK: aer %f15, %f0 # encoding: [0x3a,0xf0]
+
+ aer %f0, %f0
+ aer %f0, %f15
+ aer %f7, %f8
+ aer %f15, %f0
+
#CHECK: afi %r0, -2147483648 # encoding: [0xc2,0x09,0x80,0x00,0x00,0x00]
#CHECK: afi %r0, -1 # encoding: [0xc2,0x09,0xff,0xff,0xff,0xff]
#CHECK: afi %r0, 0 # encoding: [0xc2,0x09,0x00,0x00,0x00,0x00]
@@ -571,6 +623,58 @@
asi 524287(%r1), 42
asi 524287(%r15), 42
+#CHECK: au %f0, 0 # encoding: [0x7e,0x00,0x00,0x00]
+#CHECK: au %f0, 4095 # encoding: [0x7e,0x00,0x0f,0xff]
+#CHECK: au %f0, 0(%r1) # encoding: [0x7e,0x00,0x10,0x00]
+#CHECK: au %f0, 0(%r15) # encoding: [0x7e,0x00,0xf0,0x00]
+#CHECK: au %f0, 4095(%r1,%r15) # encoding: [0x7e,0x01,0xff,0xff]
+#CHECK: au %f0, 4095(%r15,%r1) # encoding: [0x7e,0x0f,0x1f,0xff]
+#CHECK: au %f15, 0 # encoding: [0x7e,0xf0,0x00,0x00]
+
+ au %f0, 0
+ au %f0, 4095
+ au %f0, 0(%r1)
+ au %f0, 0(%r15)
+ au %f0, 4095(%r1,%r15)
+ au %f0, 4095(%r15,%r1)
+ au %f15, 0
+
+#CHECK: aur %f0, %f0 # encoding: [0x3e,0x00]
+#CHECK: aur %f0, %f15 # encoding: [0x3e,0x0f]
+#CHECK: aur %f7, %f8 # encoding: [0x3e,0x78]
+#CHECK: aur %f15, %f0 # encoding: [0x3e,0xf0]
+
+ aur %f0, %f0
+ aur %f0, %f15
+ aur %f7, %f8
+ aur %f15, %f0
+
+#CHECK: aw %f0, 0 # encoding: [0x6e,0x00,0x00,0x00]
+#CHECK: aw %f0, 4095 # encoding: [0x6e,0x00,0x0f,0xff]
+#CHECK: aw %f0, 0(%r1) # encoding: [0x6e,0x00,0x10,0x00]
+#CHECK: aw %f0, 0(%r15) # encoding: [0x6e,0x00,0xf0,0x00]
+#CHECK: aw %f0, 4095(%r1,%r15) # encoding: [0x6e,0x01,0xff,0xff]
+#CHECK: aw %f0, 4095(%r15,%r1) # encoding: [0x6e,0x0f,0x1f,0xff]
+#CHECK: aw %f15, 0 # encoding: [0x6e,0xf0,0x00,0x00]
+
+ aw %f0, 0
+ aw %f0, 4095
+ aw %f0, 0(%r1)
+ aw %f0, 0(%r15)
+ aw %f0, 4095(%r1,%r15)
+ aw %f0, 4095(%r15,%r1)
+ aw %f15, 0
+
+#CHECK: awr %f0, %f0 # encoding: [0x2e,0x00]
+#CHECK: awr %f0, %f15 # encoding: [0x2e,0x0f]
+#CHECK: awr %f7, %f8 # encoding: [0x2e,0x78]
+#CHECK: awr %f15, %f0 # encoding: [0x2e,0xf0]
+
+ awr %f0, %f0
+ awr %f0, %f15
+ awr %f7, %f8
+ awr %f15, %f0
+
#CHECK: axbr %f0, %f0 # encoding: [0xb3,0x4a,0x00,0x00]
#CHECK: axbr %f0, %f13 # encoding: [0xb3,0x4a,0x00,0x0d]
#CHECK: axbr %f8, %f8 # encoding: [0xb3,0x4a,0x00,0x88]
@@ -581,6 +685,16 @@
axbr %f8, %f8
axbr %f13, %f0
+#CHECK: axr %f0, %f0 # encoding: [0x36,0x00]
+#CHECK: axr %f0, %f13 # encoding: [0x36,0x0d]
+#CHECK: axr %f8, %f8 # encoding: [0x36,0x88]
+#CHECK: axr %f13, %f0 # encoding: [0x36,0xd0]
+
+ axr %f0, %f0
+ axr %f0, %f13
+ axr %f8, %f8
+ axr %f13, %f0
+
#CHECK: ay %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5a]
#CHECK: ay %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5a]
#CHECK: ay %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5a]
@@ -1885,6 +1999,22 @@
c %r0, 4095(%r15,%r1)
c %r15, 0
+#CHECK: cd %f0, 0 # encoding: [0x69,0x00,0x00,0x00]
+#CHECK: cd %f0, 4095 # encoding: [0x69,0x00,0x0f,0xff]
+#CHECK: cd %f0, 0(%r1) # encoding: [0x69,0x00,0x10,0x00]
+#CHECK: cd %f0, 0(%r15) # encoding: [0x69,0x00,0xf0,0x00]
+#CHECK: cd %f0, 4095(%r1,%r15) # encoding: [0x69,0x01,0xff,0xff]
+#CHECK: cd %f0, 4095(%r15,%r1) # encoding: [0x69,0x0f,0x1f,0xff]
+#CHECK: cd %f15, 0 # encoding: [0x69,0xf0,0x00,0x00]
+
+ cd %f0, 0
+ cd %f0, 4095
+ cd %f0, 0(%r1)
+ cd %f0, 0(%r15)
+ cd %f0, 4095(%r1,%r15)
+ cd %f0, 4095(%r15,%r1)
+ cd %f15, 0
+
#CHECK: cdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x19]
#CHECK: cdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x19]
#CHECK: cdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x19]
@@ -1923,6 +2053,18 @@
cdfbr %f7, %r8
cdfbr %f15, %r15
+#CHECK: cdfr %f0, %r0 # encoding: [0xb3,0xb5,0x00,0x00]
+#CHECK: cdfr %f0, %r15 # encoding: [0xb3,0xb5,0x00,0x0f]
+#CHECK: cdfr %f15, %r0 # encoding: [0xb3,0xb5,0x00,0xf0]
+#CHECK: cdfr %f7, %r8 # encoding: [0xb3,0xb5,0x00,0x78]
+#CHECK: cdfr %f15, %r15 # encoding: [0xb3,0xb5,0x00,0xff]
+
+ cdfr %f0, %r0
+ cdfr %f0, %r15
+ cdfr %f15, %r0
+ cdfr %f7, %r8
+ cdfr %f15, %r15
+
#CHECK: cdgbr %f0, %r0 # encoding: [0xb3,0xa5,0x00,0x00]
#CHECK: cdgbr %f0, %r15 # encoding: [0xb3,0xa5,0x00,0x0f]
#CHECK: cdgbr %f15, %r0 # encoding: [0xb3,0xa5,0x00,0xf0]
@@ -1935,6 +2077,28 @@
cdgbr %f7, %r8
cdgbr %f15, %r15
+#CHECK: cdgr %f0, %r0 # encoding: [0xb3,0xc5,0x00,0x00]
+#CHECK: cdgr %f0, %r15 # encoding: [0xb3,0xc5,0x00,0x0f]
+#CHECK: cdgr %f15, %r0 # encoding: [0xb3,0xc5,0x00,0xf0]
+#CHECK: cdgr %f7, %r8 # encoding: [0xb3,0xc5,0x00,0x78]
+#CHECK: cdgr %f15, %r15 # encoding: [0xb3,0xc5,0x00,0xff]
+
+ cdgr %f0, %r0
+ cdgr %f0, %r15
+ cdgr %f15, %r0
+ cdgr %f7, %r8
+ cdgr %f15, %r15
+
+#CHECK: cdr %f0, %f0 # encoding: [0x29,0x00]
+#CHECK: cdr %f0, %f15 # encoding: [0x29,0x0f]
+#CHECK: cdr %f7, %f8 # encoding: [0x29,0x78]
+#CHECK: cdr %f15, %f0 # encoding: [0x29,0xf0]
+
+ cdr %f0, %f0
+ cdr %f0, %f15
+ cdr %f7, %f8
+ cdr %f15, %f0
+
#CHECK: cds %r0, %r0, 0 # encoding: [0xbb,0x00,0x00,0x00]
#CHECK: cds %r0, %r0, 4095 # encoding: [0xbb,0x00,0x0f,0xff]
#CHECK: cds %r0, %r0, 0(%r1) # encoding: [0xbb,0x00,0x10,0x00]
@@ -2001,6 +2165,22 @@
cdsy %r0, %r14, 0
cdsy %r14, %r0, 0
+#CHECK: ce %f0, 0 # encoding: [0x79,0x00,0x00,0x00]
+#CHECK: ce %f0, 4095 # encoding: [0x79,0x00,0x0f,0xff]
+#CHECK: ce %f0, 0(%r1) # encoding: [0x79,0x00,0x10,0x00]
+#CHECK: ce %f0, 0(%r15) # encoding: [0x79,0x00,0xf0,0x00]
+#CHECK: ce %f0, 4095(%r1,%r15) # encoding: [0x79,0x01,0xff,0xff]
+#CHECK: ce %f0, 4095(%r15,%r1) # encoding: [0x79,0x0f,0x1f,0xff]
+#CHECK: ce %f15, 0 # encoding: [0x79,0xf0,0x00,0x00]
+
+ ce %f0, 0
+ ce %f0, 4095
+ ce %f0, 0(%r1)
+ ce %f0, 0(%r15)
+ ce %f0, 4095(%r1,%r15)
+ ce %f0, 4095(%r15,%r1)
+ ce %f15, 0
+
#CHECK: ceb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x09]
#CHECK: ceb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x09]
#CHECK: ceb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x09]
@@ -2039,6 +2219,18 @@
cefbr %f7, %r8
cefbr %f15, %r15
+#CHECK: cefr %f0, %r0 # encoding: [0xb3,0xb4,0x00,0x00]
+#CHECK: cefr %f0, %r15 # encoding: [0xb3,0xb4,0x00,0x0f]
+#CHECK: cefr %f15, %r0 # encoding: [0xb3,0xb4,0x00,0xf0]
+#CHECK: cefr %f7, %r8 # encoding: [0xb3,0xb4,0x00,0x78]
+#CHECK: cefr %f15, %r15 # encoding: [0xb3,0xb4,0x00,0xff]
+
+ cefr %f0, %r0
+ cefr %f0, %r15
+ cefr %f15, %r0
+ cefr %f7, %r8
+ cefr %f15, %r15
+
#CHECK: cegbr %f0, %r0 # encoding: [0xb3,0xa4,0x00,0x00]
#CHECK: cegbr %f0, %r15 # encoding: [0xb3,0xa4,0x00,0x0f]
#CHECK: cegbr %f15, %r0 # encoding: [0xb3,0xa4,0x00,0xf0]
@@ -2051,6 +2243,28 @@
cegbr %f7, %r8
cegbr %f15, %r15
+#CHECK: cegr %f0, %r0 # encoding: [0xb3,0xc4,0x00,0x00]
+#CHECK: cegr %f0, %r15 # encoding: [0xb3,0xc4,0x00,0x0f]
+#CHECK: cegr %f15, %r0 # encoding: [0xb3,0xc4,0x00,0xf0]
+#CHECK: cegr %f7, %r8 # encoding: [0xb3,0xc4,0x00,0x78]
+#CHECK: cegr %f15, %r15 # encoding: [0xb3,0xc4,0x00,0xff]
+
+ cegr %f0, %r0
+ cegr %f0, %r15
+ cegr %f15, %r0
+ cegr %f7, %r8
+ cegr %f15, %r15
+
+#CHECK: cer %f0, %f0 # encoding: [0x39,0x00]
+#CHECK: cer %f0, %f15 # encoding: [0x39,0x0f]
+#CHECK: cer %f7, %f8 # encoding: [0x39,0x78]
+#CHECK: cer %f15, %f0 # encoding: [0x39,0xf0]
+
+ cer %f0, %f0
+ cer %f0, %f15
+ cer %f7, %f8
+ cer %f15, %f0
+
#CHECK: cfc 0 # encoding: [0xb2,0x1a,0x00,0x00]
#CHECK: cfc 0(%r1) # encoding: [0xb2,0x1a,0x10,0x00]
#CHECK: cfc 0(%r15) # encoding: [0xb2,0x1a,0xf0,0x00]
@@ -2077,6 +2291,18 @@
cfdbr %r4, 5, %f6
cfdbr %r15, 0, %f0
+#CHECK: cfdr %r0, 0, %f0 # encoding: [0xb3,0xb9,0x00,0x00]
+#CHECK: cfdr %r0, 0, %f15 # encoding: [0xb3,0xb9,0x00,0x0f]
+#CHECK: cfdr %r0, 15, %f0 # encoding: [0xb3,0xb9,0xf0,0x00]
+#CHECK: cfdr %r4, 5, %f6 # encoding: [0xb3,0xb9,0x50,0x46]
+#CHECK: cfdr %r15, 0, %f0 # encoding: [0xb3,0xb9,0x00,0xf0]
+
+ cfdr %r0, 0, %f0
+ cfdr %r0, 0, %f15
+ cfdr %r0, 15, %f0
+ cfdr %r4, 5, %f6
+ cfdr %r15, 0, %f0
+
#CHECK: cfebr %r0, 0, %f0 # encoding: [0xb3,0x98,0x00,0x00]
#CHECK: cfebr %r0, 0, %f15 # encoding: [0xb3,0x98,0x00,0x0f]
#CHECK: cfebr %r0, 15, %f0 # encoding: [0xb3,0x98,0xf0,0x00]
@@ -2089,6 +2315,18 @@
cfebr %r4, 5, %f6
cfebr %r15, 0, %f0
+#CHECK: cfer %r0, 0, %f0 # encoding: [0xb3,0xb8,0x00,0x00]
+#CHECK: cfer %r0, 0, %f15 # encoding: [0xb3,0xb8,0x00,0x0f]
+#CHECK: cfer %r0, 15, %f0 # encoding: [0xb3,0xb8,0xf0,0x00]
+#CHECK: cfer %r4, 5, %f6 # encoding: [0xb3,0xb8,0x50,0x46]
+#CHECK: cfer %r15, 0, %f0 # encoding: [0xb3,0xb8,0x00,0xf0]
+
+ cfer %r0, 0, %f0
+ cfer %r0, 0, %f15
+ cfer %r0, 15, %f0
+ cfer %r4, 5, %f6
+ cfer %r15, 0, %f0
+
#CHECK: cfi %r0, -2147483648 # encoding: [0xc2,0x0d,0x80,0x00,0x00,0x00]
#CHECK: cfi %r0, -1 # encoding: [0xc2,0x0d,0xff,0xff,0xff,0xff]
#CHECK: cfi %r0, 0 # encoding: [0xc2,0x0d,0x00,0x00,0x00,0x00]
@@ -2115,6 +2353,18 @@
cfxbr %r4, 5, %f8
cfxbr %r15, 0, %f0
+#CHECK: cfxr %r0, 0, %f0 # encoding: [0xb3,0xba,0x00,0x00]
+#CHECK: cfxr %r0, 0, %f13 # encoding: [0xb3,0xba,0x00,0x0d]
+#CHECK: cfxr %r0, 15, %f0 # encoding: [0xb3,0xba,0xf0,0x00]
+#CHECK: cfxr %r4, 5, %f8 # encoding: [0xb3,0xba,0x50,0x48]
+#CHECK: cfxr %r15, 0, %f0 # encoding: [0xb3,0xba,0x00,0xf0]
+
+ cfxr %r0, 0, %f0
+ cfxr %r0, 0, %f13
+ cfxr %r0, 15, %f0
+ cfxr %r4, 5, %f8
+ cfxr %r15, 0, %f0
+
#CHECK: cg %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x20]
#CHECK: cg %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x20]
#CHECK: cg %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x20]
@@ -2149,6 +2399,18 @@
cgdbr %r4, 5, %f6
cgdbr %r15, 0, %f0
+#CHECK: cgdr %r0, 0, %f0 # encoding: [0xb3,0xc9,0x00,0x00]
+#CHECK: cgdr %r0, 0, %f15 # encoding: [0xb3,0xc9,0x00,0x0f]
+#CHECK: cgdr %r0, 15, %f0 # encoding: [0xb3,0xc9,0xf0,0x00]
+#CHECK: cgdr %r4, 5, %f6 # encoding: [0xb3,0xc9,0x50,0x46]
+#CHECK: cgdr %r15, 0, %f0 # encoding: [0xb3,0xc9,0x00,0xf0]
+
+ cgdr %r0, 0, %f0
+ cgdr %r0, 0, %f15
+ cgdr %r0, 15, %f0
+ cgdr %r4, 5, %f6
+ cgdr %r15, 0, %f0
+
#CHECK: cgebr %r0, 0, %f0 # encoding: [0xb3,0xa8,0x00,0x00]
#CHECK: cgebr %r0, 0, %f15 # encoding: [0xb3,0xa8,0x00,0x0f]
#CHECK: cgebr %r0, 15, %f0 # encoding: [0xb3,0xa8,0xf0,0x00]
@@ -2161,6 +2423,18 @@
cgebr %r4, 5, %f6
cgebr %r15, 0, %f0
+#CHECK: cger %r0, 0, %f0 # encoding: [0xb3,0xc8,0x00,0x00]
+#CHECK: cger %r0, 0, %f15 # encoding: [0xb3,0xc8,0x00,0x0f]
+#CHECK: cger %r0, 15, %f0 # encoding: [0xb3,0xc8,0xf0,0x00]
+#CHECK: cger %r4, 5, %f6 # encoding: [0xb3,0xc8,0x50,0x46]
+#CHECK: cger %r15, 0, %f0 # encoding: [0xb3,0xc8,0x00,0xf0]
+
+ cger %r0, 0, %f0
+ cger %r0, 0, %f15
+ cger %r0, 15, %f0
+ cger %r4, 5, %f6
+ cger %r15, 0, %f0
+
#CHECK: cgf %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x30]
#CHECK: cgf %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x30]
#CHECK: cgf %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x30]
@@ -3063,6 +3337,18 @@
cgxbr %r4, 5, %f8
cgxbr %r15, 0, %f0
+#CHECK: cgxr %r0, 0, %f0 # encoding: [0xb3,0xca,0x00,0x00]
+#CHECK: cgxr %r0, 0, %f13 # encoding: [0xb3,0xca,0x00,0x0d]
+#CHECK: cgxr %r0, 15, %f0 # encoding: [0xb3,0xca,0xf0,0x00]
+#CHECK: cgxr %r4, 5, %f8 # encoding: [0xb3,0xca,0x50,0x48]
+#CHECK: cgxr %r15, 0, %f0 # encoding: [0xb3,0xca,0x00,0xf0]
+
+ cgxr %r0, 0, %f0
+ cgxr %r0, 0, %f13
+ cgxr %r0, 15, %f0
+ cgxr %r4, 5, %f8
+ cgxr %r15, 0, %f0
+
#CHECK: ch %r0, 0 # encoding: [0x49,0x00,0x00,0x00]
#CHECK: ch %r0, 4095 # encoding: [0x49,0x00,0x0f,0xff]
#CHECK: ch %r0, 0(%r1) # encoding: [0x49,0x00,0x10,0x00]
@@ -6175,6 +6461,18 @@
cxfbr %f8, %r7
cxfbr %f13, %r15
+#CHECK: cxfr %f0, %r0 # encoding: [0xb3,0xb6,0x00,0x00]
+#CHECK: cxfr %f0, %r15 # encoding: [0xb3,0xb6,0x00,0x0f]
+#CHECK: cxfr %f13, %r0 # encoding: [0xb3,0xb6,0x00,0xd0]
+#CHECK: cxfr %f8, %r7 # encoding: [0xb3,0xb6,0x00,0x87]
+#CHECK: cxfr %f13, %r15 # encoding: [0xb3,0xb6,0x00,0xdf]
+
+ cxfr %f0, %r0
+ cxfr %f0, %r15
+ cxfr %f13, %r0
+ cxfr %f8, %r7
+ cxfr %f13, %r15
+
#CHECK: cxgbr %f0, %r0 # encoding: [0xb3,0xa6,0x00,0x00]
#CHECK: cxgbr %f0, %r15 # encoding: [0xb3,0xa6,0x00,0x0f]
#CHECK: cxgbr %f13, %r0 # encoding: [0xb3,0xa6,0x00,0xd0]
@@ -6187,6 +6485,28 @@
cxgbr %f8, %r7
cxgbr %f13, %r15
+#CHECK: cxgr %f0, %r0 # encoding: [0xb3,0xc6,0x00,0x00]
+#CHECK: cxgr %f0, %r15 # encoding: [0xb3,0xc6,0x00,0x0f]
+#CHECK: cxgr %f13, %r0 # encoding: [0xb3,0xc6,0x00,0xd0]
+#CHECK: cxgr %f8, %r7 # encoding: [0xb3,0xc6,0x00,0x87]
+#CHECK: cxgr %f13, %r15 # encoding: [0xb3,0xc6,0x00,0xdf]
+
+ cxgr %f0, %r0
+ cxgr %f0, %r15
+ cxgr %f13, %r0
+ cxgr %f8, %r7
+ cxgr %f13, %r15
+
+#CHECK: cxr %f0, %f0 # encoding: [0xb3,0x69,0x00,0x00]
+#CHECK: cxr %f0, %f13 # encoding: [0xb3,0x69,0x00,0x0d]
+#CHECK: cxr %f8, %f8 # encoding: [0xb3,0x69,0x00,0x88]
+#CHECK: cxr %f13, %f0 # encoding: [0xb3,0x69,0x00,0xd0]
+
+ cxr %f0, %f0
+ cxr %f0, %f13
+ cxr %f8, %f8
+ cxr %f13, %f0
+
#CHECK: cy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x59]
#CHECK: cy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x59]
#CHECK: cy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x59]
@@ -6225,6 +6545,22 @@
d %r0, 4095(%r15,%r1)
d %r14, 0
+#CHECK: dd %f0, 0 # encoding: [0x6d,0x00,0x00,0x00]
+#CHECK: dd %f0, 4095 # encoding: [0x6d,0x00,0x0f,0xff]
+#CHECK: dd %f0, 0(%r1) # encoding: [0x6d,0x00,0x10,0x00]
+#CHECK: dd %f0, 0(%r15) # encoding: [0x6d,0x00,0xf0,0x00]
+#CHECK: dd %f0, 4095(%r1,%r15) # encoding: [0x6d,0x01,0xff,0xff]
+#CHECK: dd %f0, 4095(%r15,%r1) # encoding: [0x6d,0x0f,0x1f,0xff]
+#CHECK: dd %f15, 0 # encoding: [0x6d,0xf0,0x00,0x00]
+
+ dd %f0, 0
+ dd %f0, 4095
+ dd %f0, 0(%r1)
+ dd %f0, 0(%r15)
+ dd %f0, 4095(%r1,%r15)
+ dd %f0, 4095(%r15,%r1)
+ dd %f15, 0
+
#CHECK: ddb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1d]
#CHECK: ddb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1d]
#CHECK: ddb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1d]
@@ -6251,6 +6587,32 @@
ddbr %f7, %f8
ddbr %f15, %f0
+#CHECK: ddr %f0, %f0 # encoding: [0x2d,0x00]
+#CHECK: ddr %f0, %f15 # encoding: [0x2d,0x0f]
+#CHECK: ddr %f7, %f8 # encoding: [0x2d,0x78]
+#CHECK: ddr %f15, %f0 # encoding: [0x2d,0xf0]
+
+ ddr %f0, %f0
+ ddr %f0, %f15
+ ddr %f7, %f8
+ ddr %f15, %f0
+
+#CHECK: de %f0, 0 # encoding: [0x7d,0x00,0x00,0x00]
+#CHECK: de %f0, 4095 # encoding: [0x7d,0x00,0x0f,0xff]
+#CHECK: de %f0, 0(%r1) # encoding: [0x7d,0x00,0x10,0x00]
+#CHECK: de %f0, 0(%r15) # encoding: [0x7d,0x00,0xf0,0x00]
+#CHECK: de %f0, 4095(%r1,%r15) # encoding: [0x7d,0x01,0xff,0xff]
+#CHECK: de %f0, 4095(%r15,%r1) # encoding: [0x7d,0x0f,0x1f,0xff]
+#CHECK: de %f15, 0 # encoding: [0x7d,0xf0,0x00,0x00]
+
+ de %f0, 0
+ de %f0, 4095
+ de %f0, 0(%r1)
+ de %f0, 0(%r15)
+ de %f0, 4095(%r1,%r15)
+ de %f0, 4095(%r15,%r1)
+ de %f15, 0
+
#CHECK: deb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0d]
#CHECK: deb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0d]
#CHECK: deb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0d]
@@ -6277,6 +6639,16 @@
debr %f7, %f8
debr %f15, %f0
+#CHECK: der %f0, %f0 # encoding: [0x3d,0x00]
+#CHECK: der %f0, %f15 # encoding: [0x3d,0x0f]
+#CHECK: der %f7, %f8 # encoding: [0x3d,0x78]
+#CHECK: der %f15, %f0 # encoding: [0x3d,0xf0]
+
+ der %f0, %f0
+ der %f0, %f15
+ der %f7, %f8
+ der %f15, %f0
+
#CHECK: didbr %f0, %f0, %f0, 0 # encoding: [0xb3,0x5b,0x00,0x00]
#CHECK: didbr %f0, %f0, %f0, 15 # encoding: [0xb3,0x5b,0x0f,0x00]
#CHECK: didbr %f0, %f0, %f15, 0 # encoding: [0xb3,0x5b,0x00,0x0f]
@@ -6483,6 +6855,16 @@
dxbr %f8, %f8
dxbr %f13, %f0
+#CHECK: dxr %f0, %f0 # encoding: [0xb2,0x2d,0x00,0x00]
+#CHECK: dxr %f0, %f13 # encoding: [0xb2,0x2d,0x00,0x0d]
+#CHECK: dxr %f8, %f8 # encoding: [0xb2,0x2d,0x00,0x88]
+#CHECK: dxr %f13, %f0 # encoding: [0xb2,0x2d,0x00,0xd0]
+
+ dxr %f0, %f0
+ dxr %f0, %f13
+ dxr %f8, %f8
+ dxr %f13, %f0
+
#CHECK: ear %r0, %a0 # encoding: [0xb2,0x4f,0x00,0x00]
#CHECK: ear %r0, %a15 # encoding: [0xb2,0x4f,0x00,0x0f]
#CHECK: ear %r15, %a0 # encoding: [0xb2,0x4f,0x00,0xf0]
@@ -6672,6 +7054,16 @@
fidbr %f4, 5, %f6
fidbr %f15, 0, %f0
+#CHECK: fidr %f0, %f0 # encoding: [0xb3,0x7f,0x00,0x00]
+#CHECK: fidr %f0, %f15 # encoding: [0xb3,0x7f,0x00,0x0f]
+#CHECK: fidr %f4, %f6 # encoding: [0xb3,0x7f,0x00,0x46]
+#CHECK: fidr %f15, %f0 # encoding: [0xb3,0x7f,0x00,0xf0]
+
+ fidr %f0, %f0
+ fidr %f0, %f15
+ fidr %f4, %f6
+ fidr %f15, %f0
+
#CHECK: fiebr %f0, 0, %f0 # encoding: [0xb3,0x57,0x00,0x00]
#CHECK: fiebr %f0, 0, %f15 # encoding: [0xb3,0x57,0x00,0x0f]
#CHECK: fiebr %f0, 15, %f0 # encoding: [0xb3,0x57,0xf0,0x00]
@@ -6684,6 +7076,16 @@
fiebr %f4, 5, %f6
fiebr %f15, 0, %f0
+#CHECK: fier %f0, %f0 # encoding: [0xb3,0x77,0x00,0x00]
+#CHECK: fier %f0, %f15 # encoding: [0xb3,0x77,0x00,0x0f]
+#CHECK: fier %f4, %f6 # encoding: [0xb3,0x77,0x00,0x46]
+#CHECK: fier %f15, %f0 # encoding: [0xb3,0x77,0x00,0xf0]
+
+ fier %f0, %f0
+ fier %f0, %f15
+ fier %f4, %f6
+ fier %f15, %f0
+
#CHECK: fixbr %f0, 0, %f0 # encoding: [0xb3,0x47,0x00,0x00]
#CHECK: fixbr %f0, 0, %f13 # encoding: [0xb3,0x47,0x00,0x0d]
#CHECK: fixbr %f0, 15, %f0 # encoding: [0xb3,0x47,0xf0,0x00]
@@ -6696,6 +7098,16 @@
fixbr %f4, 5, %f8
fixbr %f13, 0, %f0
+#CHECK: fixr %f0, %f0 # encoding: [0xb3,0x67,0x00,0x00]
+#CHECK: fixr %f0, %f13 # encoding: [0xb3,0x67,0x00,0x0d]
+#CHECK: fixr %f4, %f8 # encoding: [0xb3,0x67,0x00,0x48]
+#CHECK: fixr %f13, %f0 # encoding: [0xb3,0x67,0x00,0xd0]
+
+ fixr %f0, %f0
+ fixr %f0, %f13
+ fixr %f4, %f8
+ fixr %f13, %f0
+
#CHECK: flogr %r0, %r0 # encoding: [0xb9,0x83,0x00,0x00]
#CHECK: flogr %r0, %r15 # encoding: [0xb9,0x83,0x00,0x0f]
#CHECK: flogr %r10, %r9 # encoding: [0xb9,0x83,0x00,0xa9]
@@ -6706,6 +7118,26 @@
flogr %r10, %r9
flogr %r14, %r0
+#CHECK: hdr %f0, %f0 # encoding: [0x24,0x00]
+#CHECK: hdr %f0, %f15 # encoding: [0x24,0x0f]
+#CHECK: hdr %f7, %f8 # encoding: [0x24,0x78]
+#CHECK: hdr %f15, %f0 # encoding: [0x24,0xf0]
+
+ hdr %f0, %f0
+ hdr %f0, %f15
+ hdr %f7, %f8
+ hdr %f15, %f0
+
+#CHECK: her %f0, %f0 # encoding: [0x34,0x00]
+#CHECK: her %f0, %f15 # encoding: [0x34,0x0f]
+#CHECK: her %f7, %f8 # encoding: [0x34,0x78]
+#CHECK: her %f15, %f0 # encoding: [0x34,0xf0]
+
+ her %f0, %f0
+ her %f0, %f15
+ her %f7, %f8
+ her %f15, %f0
+
#CHECK: ic %r0, 0 # encoding: [0x43,0x00,0x00,0x00]
#CHECK: ic %r0, 4095 # encoding: [0x43,0x00,0x0f,0xff]
#CHECK: ic %r0, 0(%r1) # encoding: [0x43,0x00,0x10,0x00]
@@ -7199,6 +7631,16 @@
lcdbr %f15,%f0
lcdbr %f15,%f9
+#CHECK: lcdr %f0, %f9 # encoding: [0x23,0x09]
+#CHECK: lcdr %f0, %f15 # encoding: [0x23,0x0f]
+#CHECK: lcdr %f15, %f0 # encoding: [0x23,0xf0]
+#CHECK: lcdr %f15, %f9 # encoding: [0x23,0xf9]
+
+ lcdr %f0,%f9
+ lcdr %f0,%f15
+ lcdr %f15,%f0
+ lcdr %f15,%f9
+
#CHECK: lcebr %f0, %f9 # encoding: [0xb3,0x03,0x00,0x09]
#CHECK: lcebr %f0, %f15 # encoding: [0xb3,0x03,0x00,0x0f]
#CHECK: lcebr %f15, %f0 # encoding: [0xb3,0x03,0x00,0xf0]
@@ -7209,6 +7651,16 @@
lcebr %f15,%f0
lcebr %f15,%f9
+#CHECK: lcer %f0, %f9 # encoding: [0x33,0x09]
+#CHECK: lcer %f0, %f15 # encoding: [0x33,0x0f]
+#CHECK: lcer %f15, %f0 # encoding: [0x33,0xf0]
+#CHECK: lcer %f15, %f9 # encoding: [0x33,0xf9]
+
+ lcer %f0,%f9
+ lcer %f0,%f15
+ lcer %f15,%f0
+ lcer %f15,%f9
+
#CHECK: lcgfr %r0, %r0 # encoding: [0xb9,0x13,0x00,0x00]
#CHECK: lcgfr %r0, %r15 # encoding: [0xb9,0x13,0x00,0x0f]
#CHECK: lcgfr %r15, %r0 # encoding: [0xb9,0x13,0x00,0xf0]
@@ -7249,6 +7701,16 @@
lcxbr %f13,%f0
lcxbr %f13,%f9
+#CHECK: lcxr %f0, %f8 # encoding: [0xb3,0x63,0x00,0x08]
+#CHECK: lcxr %f0, %f13 # encoding: [0xb3,0x63,0x00,0x0d]
+#CHECK: lcxr %f13, %f0 # encoding: [0xb3,0x63,0x00,0xd0]
+#CHECK: lcxr %f13, %f9 # encoding: [0xb3,0x63,0x00,0xd9]
+
+ lcxr %f0,%f8
+ lcxr %f0,%f13
+ lcxr %f13,%f0
+ lcxr %f13,%f9
+
#CHECK: ld %f0, 0 # encoding: [0x68,0x00,0x00,0x00]
#CHECK: ld %f0, 4095 # encoding: [0x68,0x00,0x0f,0xff]
#CHECK: ld %f0, 0(%r1) # encoding: [0x68,0x00,0x10,0x00]
@@ -7265,6 +7727,22 @@
ld %f0, 4095(%r15,%r1)
ld %f15, 0
+#CHECK: lde %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x24]
+#CHECK: lde %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x24]
+#CHECK: lde %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x24]
+#CHECK: lde %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x24]
+#CHECK: lde %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x24]
+#CHECK: lde %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x24]
+#CHECK: lde %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x24]
+
+ lde %f0, 0
+ lde %f0, 4095
+ lde %f0, 0(%r1)
+ lde %f0, 0(%r15)
+ lde %f0, 4095(%r1,%r15)
+ lde %f0, 4095(%r15,%r1)
+ lde %f15, 0
+
#CHECK: ldeb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x04]
#CHECK: ldeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x04]
#CHECK: ldeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x04]
@@ -7289,6 +7767,14 @@
ldebr %f7, %f8
ldebr %f15, %f0
+#CHECK: lder %f0, %f15 # encoding: [0xb3,0x24,0x00,0x0f]
+#CHECK: lder %f7, %f8 # encoding: [0xb3,0x24,0x00,0x78]
+#CHECK: lder %f15, %f0 # encoding: [0xb3,0x24,0x00,0xf0]
+
+ lder %f0, %f15
+ lder %f7, %f8
+ lder %f15, %f0
+
#CHECK: ldgr %f0, %r0 # encoding: [0xb3,0xc1,0x00,0x00]
#CHECK: ldgr %f0, %r15 # encoding: [0xb3,0xc1,0x00,0x0f]
#CHECK: ldgr %f15, %r0 # encoding: [0xb3,0xc1,0x00,0xf0]
@@ -7323,6 +7809,18 @@
ldxbr %f13, %f0
ldxbr %f13, %f13
+#CHECK: ldxr %f0, %f0 # encoding: [0x25,0x00]
+#CHECK: ldxr %f0, %f13 # encoding: [0x25,0x0d]
+#CHECK: ldxr %f7, %f8 # encoding: [0x25,0x78]
+#CHECK: ldxr %f15, %f0 # encoding: [0x25,0xf0]
+#CHECK: ldxr %f15, %f13 # encoding: [0x25,0xfd]
+
+ ldxr %f0, %f0
+ ldxr %f0, %f13
+ ldxr %f7, %f8
+ ldxr %f15, %f0
+ ldxr %f15, %f13
+
#CHECK: ldy %f0, -524288 # encoding: [0xed,0x00,0x00,0x00,0x80,0x65]
#CHECK: ldy %f0, -1 # encoding: [0xed,0x00,0x0f,0xff,0xff,0x65]
#CHECK: ldy %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x65]
@@ -7373,6 +7871,18 @@
ledbr %f15, %f0
ledbr %f15, %f15
+#CHECK: ledr %f0, %f0 # encoding: [0x35,0x00]
+#CHECK: ledr %f0, %f15 # encoding: [0x35,0x0f]
+#CHECK: ledr %f7, %f8 # encoding: [0x35,0x78]
+#CHECK: ledr %f15, %f0 # encoding: [0x35,0xf0]
+#CHECK: ledr %f15, %f15 # encoding: [0x35,0xff]
+
+ ledr %f0, %f0
+ ledr %f0, %f15
+ ledr %f7, %f8
+ ledr %f15, %f0
+ ledr %f15, %f15
+
#CHECK: ler %f0, %f9 # encoding: [0x38,0x09]
#CHECK: ler %f0, %f15 # encoding: [0x38,0x0f]
#CHECK: ler %f15, %f0 # encoding: [0x38,0xf0]
@@ -7395,6 +7905,18 @@
lexbr %f13, %f0
lexbr %f13, %f13
+#CHECK: lexr %f0, %f0 # encoding: [0xb3,0x66,0x00,0x00]
+#CHECK: lexr %f0, %f13 # encoding: [0xb3,0x66,0x00,0x0d]
+#CHECK: lexr %f7, %f8 # encoding: [0xb3,0x66,0x00,0x78]
+#CHECK: lexr %f15, %f0 # encoding: [0xb3,0x66,0x00,0xf0]
+#CHECK: lexr %f15, %f13 # encoding: [0xb3,0x66,0x00,0xfd]
+
+ lexr %f0, %f0
+ lexr %f0, %f13
+ lexr %f7, %f8
+ lexr %f15, %f0
+ lexr %f15, %f13
+
#CHECK: ley %f0, -524288 # encoding: [0xed,0x00,0x00,0x00,0x80,0x64]
#CHECK: ley %f0, -1 # encoding: [0xed,0x00,0x0f,0xff,0xff,0x64]
#CHECK: ley %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x64]
@@ -8303,6 +8825,16 @@
lndbr %f15,%f0
lndbr %f15,%f9
+#CHECK: lndr %f0, %f9 # encoding: [0x21,0x09]
+#CHECK: lndr %f0, %f15 # encoding: [0x21,0x0f]
+#CHECK: lndr %f15, %f0 # encoding: [0x21,0xf0]
+#CHECK: lndr %f15, %f9 # encoding: [0x21,0xf9]
+
+ lndr %f0,%f9
+ lndr %f0,%f15
+ lndr %f15,%f0
+ lndr %f15,%f9
+
#CHECK: lnebr %f0, %f9 # encoding: [0xb3,0x01,0x00,0x09]
#CHECK: lnebr %f0, %f15 # encoding: [0xb3,0x01,0x00,0x0f]
#CHECK: lnebr %f15, %f0 # encoding: [0xb3,0x01,0x00,0xf0]
@@ -8313,6 +8845,16 @@
lnebr %f15,%f0
lnebr %f15,%f9
+#CHECK: lner %f0, %f9 # encoding: [0x31,0x09]
+#CHECK: lner %f0, %f15 # encoding: [0x31,0x0f]
+#CHECK: lner %f15, %f0 # encoding: [0x31,0xf0]
+#CHECK: lner %f15, %f9 # encoding: [0x31,0xf9]
+
+ lner %f0,%f9
+ lner %f0,%f15
+ lner %f15,%f0
+ lner %f15,%f9
+
#CHECK: lngfr %r0, %r0 # encoding: [0xb9,0x11,0x00,0x00]
#CHECK: lngfr %r0, %r15 # encoding: [0xb9,0x11,0x00,0x0f]
#CHECK: lngfr %r15, %r0 # encoding: [0xb9,0x11,0x00,0xf0]
@@ -8353,6 +8895,16 @@
lnxbr %f13,%f0
lnxbr %f13,%f9
+#CHECK: lnxr %f0, %f8 # encoding: [0xb3,0x61,0x00,0x08]
+#CHECK: lnxr %f0, %f13 # encoding: [0xb3,0x61,0x00,0x0d]
+#CHECK: lnxr %f13, %f0 # encoding: [0xb3,0x61,0x00,0xd0]
+#CHECK: lnxr %f13, %f9 # encoding: [0xb3,0x61,0x00,0xd9]
+
+ lnxr %f0,%f8
+ lnxr %f0,%f13
+ lnxr %f13,%f0
+ lnxr %f13,%f9
+
#CHECK: lpdbr %f0, %f9 # encoding: [0xb3,0x10,0x00,0x09]
#CHECK: lpdbr %f0, %f15 # encoding: [0xb3,0x10,0x00,0x0f]
#CHECK: lpdbr %f15, %f0 # encoding: [0xb3,0x10,0x00,0xf0]
@@ -8363,6 +8915,16 @@
lpdbr %f15,%f0
lpdbr %f15,%f9
+#CHECK: lpdr %f0, %f9 # encoding: [0x20,0x09]
+#CHECK: lpdr %f0, %f15 # encoding: [0x20,0x0f]
+#CHECK: lpdr %f15, %f0 # encoding: [0x20,0xf0]
+#CHECK: lpdr %f15, %f9 # encoding: [0x20,0xf9]
+
+ lpdr %f0,%f9
+ lpdr %f0,%f15
+ lpdr %f15,%f0
+ lpdr %f15,%f9
+
#CHECK: lpebr %f0, %f9 # encoding: [0xb3,0x00,0x00,0x09]
#CHECK: lpebr %f0, %f15 # encoding: [0xb3,0x00,0x00,0x0f]
#CHECK: lpebr %f15, %f0 # encoding: [0xb3,0x00,0x00,0xf0]
@@ -8373,6 +8935,16 @@
lpebr %f15,%f0
lpebr %f15,%f9
+#CHECK: lper %f0, %f9 # encoding: [0x30,0x09]
+#CHECK: lper %f0, %f15 # encoding: [0x30,0x0f]
+#CHECK: lper %f15, %f0 # encoding: [0x30,0xf0]
+#CHECK: lper %f15, %f9 # encoding: [0x30,0xf9]
+
+ lper %f0,%f9
+ lper %f0,%f15
+ lper %f15,%f0
+ lper %f15,%f9
+
#CHECK: lpgfr %r0, %r0 # encoding: [0xb9,0x10,0x00,0x00]
#CHECK: lpgfr %r0, %r15 # encoding: [0xb9,0x10,0x00,0x0f]
#CHECK: lpgfr %r15, %r0 # encoding: [0xb9,0x10,0x00,0xf0]
@@ -8435,6 +9007,16 @@
lpxbr %f13,%f0
lpxbr %f13,%f9
+#CHECK: lpxr %f0, %f8 # encoding: [0xb3,0x60,0x00,0x08]
+#CHECK: lpxr %f0, %f13 # encoding: [0xb3,0x60,0x00,0x0d]
+#CHECK: lpxr %f13, %f0 # encoding: [0xb3,0x60,0x00,0xd0]
+#CHECK: lpxr %f13, %f9 # encoding: [0xb3,0x60,0x00,0xd9]
+
+ lpxr %f0,%f8
+ lpxr %f0,%f13
+ lpxr %f13,%f0
+ lpxr %f13,%f9
+
#CHECK: lr %r0, %r9 # encoding: [0x18,0x09]
#CHECK: lr %r0, %r15 # encoding: [0x18,0x0f]
#CHECK: lr %r15, %r0 # encoding: [0x18,0xf0]
@@ -8445,6 +9027,30 @@
lr %r15,%r0
lr %r15,%r9
+#CHECK: lrdr %f0, %f0 # encoding: [0x25,0x00]
+#CHECK: lrdr %f0, %f13 # encoding: [0x25,0x0d]
+#CHECK: lrdr %f7, %f8 # encoding: [0x25,0x78]
+#CHECK: lrdr %f15, %f0 # encoding: [0x25,0xf0]
+#CHECK: lrdr %f15, %f13 # encoding: [0x25,0xfd]
+
+ lrdr %f0, %f0
+ lrdr %f0, %f13
+ lrdr %f7, %f8
+ lrdr %f15, %f0
+ lrdr %f15, %f13
+
+#CHECK: lrer %f0, %f0 # encoding: [0x35,0x00]
+#CHECK: lrer %f0, %f15 # encoding: [0x35,0x0f]
+#CHECK: lrer %f7, %f8 # encoding: [0x35,0x78]
+#CHECK: lrer %f15, %f0 # encoding: [0x35,0xf0]
+#CHECK: lrer %f15, %f15 # encoding: [0x35,0xff]
+
+ lrer %f0, %f0
+ lrer %f0, %f15
+ lrer %f7, %f8
+ lrer %f15, %f0
+ lrer %f15, %f15
+
#CHECK: lrl %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xc4,0x0d,A,A,A,A]
#CHECK: fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
lrl %r0, -0x100000000
@@ -8604,6 +9210,16 @@
ltdbr %f15,%f0
ltdbr %f15,%f9
+#CHECK: ltdr %f0, %f9 # encoding: [0x22,0x09]
+#CHECK: ltdr %f0, %f15 # encoding: [0x22,0x0f]
+#CHECK: ltdr %f15, %f0 # encoding: [0x22,0xf0]
+#CHECK: ltdr %f15, %f9 # encoding: [0x22,0xf9]
+
+ ltdr %f0,%f9
+ ltdr %f0,%f15
+ ltdr %f15,%f0
+ ltdr %f15,%f9
+
#CHECK: ltebr %f0, %f9 # encoding: [0xb3,0x02,0x00,0x09]
#CHECK: ltebr %f0, %f15 # encoding: [0xb3,0x02,0x00,0x0f]
#CHECK: ltebr %f15, %f0 # encoding: [0xb3,0x02,0x00,0xf0]
@@ -8614,6 +9230,16 @@
ltebr %f15,%f0
ltebr %f15,%f9
+#CHECK: lter %f0, %f9 # encoding: [0x32,0x09]
+#CHECK: lter %f0, %f15 # encoding: [0x32,0x0f]
+#CHECK: lter %f15, %f0 # encoding: [0x32,0xf0]
+#CHECK: lter %f15, %f9 # encoding: [0x32,0xf9]
+
+ lter %f0,%f9
+ lter %f0,%f15
+ lter %f15,%f0
+ lter %f15,%f9
+
#CHECK: ltg %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x02]
#CHECK: ltg %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x02]
#CHECK: ltg %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x02]
@@ -8698,6 +9324,31 @@
ltxbr %f13,%f0
ltxbr %f13,%f9
+#CHECK: ltxr %f0, %f9 # encoding: [0xb3,0x62,0x00,0x09]
+#CHECK: ltxr %f0, %f13 # encoding: [0xb3,0x62,0x00,0x0d]
+#CHECK: ltxr %f13, %f0 # encoding: [0xb3,0x62,0x00,0xd0]
+#CHECK: ltxr %f13, %f9 # encoding: [0xb3,0x62,0x00,0xd9]
+
+ ltxr %f0,%f9
+ ltxr %f0,%f13
+ ltxr %f13,%f0
+ ltxr %f13,%f9
+
+#CHECK: lxd %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x25]
+#CHECK: lxd %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x25]
+#CHECK: lxd %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x25]
+#CHECK: lxd %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x25]
+#CHECK: lxd %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x25]
+#CHECK: lxd %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x25]
+
+ lxd %f0, 0
+ lxd %f0, 4095
+ lxd %f0, 0(%r1)
+ lxd %f0, 0(%r15)
+ lxd %f0, 4095(%r1,%r15)
+ lxd %f0, 4095(%r15,%r1)
+ lxd %f13, 0
+
#CHECK: lxdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x05]
#CHECK: lxdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x05]
#CHECK: lxdb %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x05]
@@ -8723,6 +9374,31 @@
lxdbr %f13,%f0
lxdbr %f13,%f15
+#CHECK: lxdr %f0, %f8 # encoding: [0xb3,0x25,0x00,0x08]
+#CHECK: lxdr %f0, %f13 # encoding: [0xb3,0x25,0x00,0x0d]
+#CHECK: lxdr %f13, %f0 # encoding: [0xb3,0x25,0x00,0xd0]
+#CHECK: lxdr %f13, %f15 # encoding: [0xb3,0x25,0x00,0xdf]
+
+ lxdr %f0,%f8
+ lxdr %f0,%f13
+ lxdr %f13,%f0
+ lxdr %f13,%f15
+
+#CHECK: lxe %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x26]
+#CHECK: lxe %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x26]
+#CHECK: lxe %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x26]
+#CHECK: lxe %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x26]
+#CHECK: lxe %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x26]
+#CHECK: lxe %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x26]
+
+ lxe %f0, 0
+ lxe %f0, 4095
+ lxe %f0, 0(%r1)
+ lxe %f0, 0(%r15)
+ lxe %f0, 4095(%r1,%r15)
+ lxe %f0, 4095(%r15,%r1)
+ lxe %f13, 0
+
#CHECK: lxeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x06]
#CHECK: lxeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x06]
#CHECK: lxeb %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x06]
@@ -8748,6 +9424,16 @@
lxebr %f13,%f0
lxebr %f13,%f15
+#CHECK: lxer %f0, %f8 # encoding: [0xb3,0x26,0x00,0x08]
+#CHECK: lxer %f0, %f13 # encoding: [0xb3,0x26,0x00,0x0d]
+#CHECK: lxer %f13, %f0 # encoding: [0xb3,0x26,0x00,0xd0]
+#CHECK: lxer %f13, %f15 # encoding: [0xb3,0x26,0x00,0xdf]
+
+ lxer %f0,%f8
+ lxer %f0,%f13
+ lxer %f13,%f0
+ lxer %f13,%f15
+
#CHECK: lxr %f0, %f8 # encoding: [0xb3,0x65,0x00,0x08]
#CHECK: lxr %f0, %f13 # encoding: [0xb3,0x65,0x00,0x0d]
#CHECK: lxr %f13, %f0 # encoding: [0xb3,0x65,0x00,0xd0]
@@ -8820,6 +9506,26 @@
m %r0, 4095(%r15,%r1)
m %r14, 0
+#CHECK: mad %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3e]
+#CHECK: mad %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3e]
+#CHECK: mad %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3e]
+#CHECK: mad %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3e]
+#CHECK: mad %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3e]
+#CHECK: mad %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3e]
+#CHECK: mad %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3e]
+#CHECK: mad %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x3e]
+#CHECK: mad %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x3e]
+
+ mad %f0, %f0, 0
+ mad %f0, %f0, 4095
+ mad %f0, %f0, 0(%r1)
+ mad %f0, %f0, 0(%r15)
+ mad %f0, %f0, 4095(%r1,%r15)
+ mad %f0, %f0, 4095(%r15,%r1)
+ mad %f0, %f15, 0
+ mad %f15, %f0, 0
+ mad %f15, %f15, 0
+
#CHECK: madb %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1e]
#CHECK: madb %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1e]
#CHECK: madb %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1e]
@@ -8854,6 +9560,40 @@
madbr %f7, %f8, %f9
madbr %f15, %f15, %f15
+#CHECK: madr %f0, %f0, %f0 # encoding: [0xb3,0x3e,0x00,0x00]
+#CHECK: madr %f0, %f0, %f15 # encoding: [0xb3,0x3e,0x00,0x0f]
+#CHECK: madr %f0, %f15, %f0 # encoding: [0xb3,0x3e,0x00,0xf0]
+#CHECK: madr %f15, %f0, %f0 # encoding: [0xb3,0x3e,0xf0,0x00]
+#CHECK: madr %f7, %f8, %f9 # encoding: [0xb3,0x3e,0x70,0x89]
+#CHECK: madr %f15, %f15, %f15 # encoding: [0xb3,0x3e,0xf0,0xff]
+
+ madr %f0, %f0, %f0
+ madr %f0, %f0, %f15
+ madr %f0, %f15, %f0
+ madr %f15, %f0, %f0
+ madr %f7, %f8, %f9
+ madr %f15, %f15, %f15
+
+#CHECK: mae %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x2e]
+#CHECK: mae %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x2e]
+#CHECK: mae %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x2e]
+#CHECK: mae %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x2e]
+#CHECK: mae %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x2e]
+#CHECK: mae %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x2e]
+#CHECK: mae %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x2e]
+#CHECK: mae %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x2e]
+#CHECK: mae %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x2e]
+
+ mae %f0, %f0, 0
+ mae %f0, %f0, 4095
+ mae %f0, %f0, 0(%r1)
+ mae %f0, %f0, 0(%r15)
+ mae %f0, %f0, 4095(%r1,%r15)
+ mae %f0, %f0, 4095(%r15,%r1)
+ mae %f0, %f15, 0
+ mae %f15, %f0, 0
+ mae %f15, %f15, 0
+
#CHECK: maeb %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0e]
#CHECK: maeb %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0e]
#CHECK: maeb %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0e]
@@ -8888,6 +9628,122 @@
maebr %f7, %f8, %f9
maebr %f15, %f15, %f15
+#CHECK: maer %f0, %f0, %f0 # encoding: [0xb3,0x2e,0x00,0x00]
+#CHECK: maer %f0, %f0, %f15 # encoding: [0xb3,0x2e,0x00,0x0f]
+#CHECK: maer %f0, %f15, %f0 # encoding: [0xb3,0x2e,0x00,0xf0]
+#CHECK: maer %f15, %f0, %f0 # encoding: [0xb3,0x2e,0xf0,0x00]
+#CHECK: maer %f7, %f8, %f9 # encoding: [0xb3,0x2e,0x70,0x89]
+#CHECK: maer %f15, %f15, %f15 # encoding: [0xb3,0x2e,0xf0,0xff]
+
+ maer %f0, %f0, %f0
+ maer %f0, %f0, %f15
+ maer %f0, %f15, %f0
+ maer %f15, %f0, %f0
+ maer %f7, %f8, %f9
+ maer %f15, %f15, %f15
+
+#CHECK: may %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3a]
+#CHECK: may %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3a]
+#CHECK: may %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3a]
+#CHECK: may %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3a]
+#CHECK: may %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3a]
+#CHECK: may %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3a]
+#CHECK: may %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3a]
+#CHECK: may %f13, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0x3a]
+#CHECK: may %f13, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xd0,0x3a]
+
+ may %f0, %f0, 0
+ may %f0, %f0, 4095
+ may %f0, %f0, 0(%r1)
+ may %f0, %f0, 0(%r15)
+ may %f0, %f0, 4095(%r1,%r15)
+ may %f0, %f0, 4095(%r15,%r1)
+ may %f0, %f15, 0
+ may %f13, %f0, 0
+ may %f13, %f15, 0
+
+#CHECK: mayh %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3c]
+#CHECK: mayh %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3c]
+#CHECK: mayh %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3c]
+#CHECK: mayh %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3c]
+#CHECK: mayh %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3c]
+#CHECK: mayh %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3c]
+#CHECK: mayh %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3c]
+#CHECK: mayh %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x3c]
+#CHECK: mayh %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x3c]
+
+ mayh %f0, %f0, 0
+ mayh %f0, %f0, 4095
+ mayh %f0, %f0, 0(%r1)
+ mayh %f0, %f0, 0(%r15)
+ mayh %f0, %f0, 4095(%r1,%r15)
+ mayh %f0, %f0, 4095(%r15,%r1)
+ mayh %f0, %f15, 0
+ mayh %f15, %f0, 0
+ mayh %f15, %f15, 0
+
+#CHECK: mayhr %f0, %f0, %f0 # encoding: [0xb3,0x3c,0x00,0x00]
+#CHECK: mayhr %f0, %f0, %f15 # encoding: [0xb3,0x3c,0x00,0x0f]
+#CHECK: mayhr %f0, %f15, %f0 # encoding: [0xb3,0x3c,0x00,0xf0]
+#CHECK: mayhr %f15, %f0, %f0 # encoding: [0xb3,0x3c,0xf0,0x00]
+#CHECK: mayhr %f7, %f8, %f9 # encoding: [0xb3,0x3c,0x70,0x89]
+#CHECK: mayhr %f15, %f15, %f15 # encoding: [0xb3,0x3c,0xf0,0xff]
+
+ mayhr %f0, %f0, %f0
+ mayhr %f0, %f0, %f15
+ mayhr %f0, %f15, %f0
+ mayhr %f15, %f0, %f0
+ mayhr %f7, %f8, %f9
+ mayhr %f15, %f15, %f15
+
+#CHECK: mayl %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x38]
+#CHECK: mayl %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x38]
+#CHECK: mayl %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x38]
+#CHECK: mayl %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x38]
+#CHECK: mayl %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x38]
+#CHECK: mayl %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x38]
+#CHECK: mayl %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x38]
+#CHECK: mayl %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x38]
+#CHECK: mayl %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x38]
+
+ mayl %f0, %f0, 0
+ mayl %f0, %f0, 4095
+ mayl %f0, %f0, 0(%r1)
+ mayl %f0, %f0, 0(%r15)
+ mayl %f0, %f0, 4095(%r1,%r15)
+ mayl %f0, %f0, 4095(%r15,%r1)
+ mayl %f0, %f15, 0
+ mayl %f15, %f0, 0
+ mayl %f15, %f15, 0
+
+#CHECK: maylr %f0, %f0, %f0 # encoding: [0xb3,0x38,0x00,0x00]
+#CHECK: maylr %f0, %f0, %f15 # encoding: [0xb3,0x38,0x00,0x0f]
+#CHECK: maylr %f0, %f15, %f0 # encoding: [0xb3,0x38,0x00,0xf0]
+#CHECK: maylr %f15, %f0, %f0 # encoding: [0xb3,0x38,0xf0,0x00]
+#CHECK: maylr %f7, %f8, %f9 # encoding: [0xb3,0x38,0x70,0x89]
+#CHECK: maylr %f15, %f15, %f15 # encoding: [0xb3,0x38,0xf0,0xff]
+
+ maylr %f0, %f0, %f0
+ maylr %f0, %f0, %f15
+ maylr %f0, %f15, %f0
+ maylr %f15, %f0, %f0
+ maylr %f7, %f8, %f9
+ maylr %f15, %f15, %f15
+
+#CHECK: mayr %f0, %f0, %f0 # encoding: [0xb3,0x3a,0x00,0x00]
+#CHECK: mayr %f0, %f0, %f15 # encoding: [0xb3,0x3a,0x00,0x0f]
+#CHECK: mayr %f0, %f15, %f0 # encoding: [0xb3,0x3a,0x00,0xf0]
+#CHECK: mayr %f13, %f0, %f0 # encoding: [0xb3,0x3a,0xd0,0x00]
+#CHECK: mayr %f5, %f8, %f9 # encoding: [0xb3,0x3a,0x50,0x89]
+#CHECK: mayr %f13, %f15, %f15 # encoding: [0xb3,0x3a,0xd0,0xff]
+
+ mayr %f0, %f0, %f0
+ mayr %f0, %f0, %f15
+ mayr %f0, %f15, %f0
+ mayr %f13, %f0, %f0
+ mayr %f5, %f8, %f9
+ mayr %f13, %f15, %f15
+
#CHECK: mc 0, 0 # encoding: [0xaf,0x00,0x00,0x00]
#CHECK: mc 4095, 0 # encoding: [0xaf,0x00,0x0f,0xff]
#CHECK: mc 0, 255 # encoding: [0xaf,0xff,0x00,0x00]
@@ -8904,6 +9760,22 @@
mc 4095(%r1), 42
mc 4095(%r15), 42
+#CHECK: md %f0, 0 # encoding: [0x6c,0x00,0x00,0x00]
+#CHECK: md %f0, 4095 # encoding: [0x6c,0x00,0x0f,0xff]
+#CHECK: md %f0, 0(%r1) # encoding: [0x6c,0x00,0x10,0x00]
+#CHECK: md %f0, 0(%r15) # encoding: [0x6c,0x00,0xf0,0x00]
+#CHECK: md %f0, 4095(%r1,%r15) # encoding: [0x6c,0x01,0xff,0xff]
+#CHECK: md %f0, 4095(%r15,%r1) # encoding: [0x6c,0x0f,0x1f,0xff]
+#CHECK: md %f15, 0 # encoding: [0x6c,0xf0,0x00,0x00]
+
+ md %f0, 0
+ md %f0, 4095
+ md %f0, 0(%r1)
+ md %f0, 0(%r15)
+ md %f0, 4095(%r1,%r15)
+ md %f0, 4095(%r15,%r1)
+ md %f15, 0
+
#CHECK: mdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1c]
#CHECK: mdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1c]
#CHECK: mdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1c]
@@ -8930,6 +9802,22 @@
mdbr %f7, %f8
mdbr %f15, %f0
+#CHECK: mde %f0, 0 # encoding: [0x7c,0x00,0x00,0x00]
+#CHECK: mde %f0, 4095 # encoding: [0x7c,0x00,0x0f,0xff]
+#CHECK: mde %f0, 0(%r1) # encoding: [0x7c,0x00,0x10,0x00]
+#CHECK: mde %f0, 0(%r15) # encoding: [0x7c,0x00,0xf0,0x00]
+#CHECK: mde %f0, 4095(%r1,%r15) # encoding: [0x7c,0x01,0xff,0xff]
+#CHECK: mde %f0, 4095(%r15,%r1) # encoding: [0x7c,0x0f,0x1f,0xff]
+#CHECK: mde %f15, 0 # encoding: [0x7c,0xf0,0x00,0x00]
+
+ mde %f0, 0
+ mde %f0, 4095
+ mde %f0, 0(%r1)
+ mde %f0, 0(%r15)
+ mde %f0, 4095(%r1,%r15)
+ mde %f0, 4095(%r15,%r1)
+ mde %f15, 0
+
#CHECK: mdeb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0c]
#CHECK: mdeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0c]
#CHECK: mdeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0c]
@@ -8956,6 +9844,58 @@
mdebr %f7, %f8
mdebr %f15, %f0
+#CHECK: mder %f0, %f0 # encoding: [0x3c,0x00]
+#CHECK: mder %f0, %f15 # encoding: [0x3c,0x0f]
+#CHECK: mder %f7, %f8 # encoding: [0x3c,0x78]
+#CHECK: mder %f15, %f0 # encoding: [0x3c,0xf0]
+
+ mder %f0, %f0
+ mder %f0, %f15
+ mder %f7, %f8
+ mder %f15, %f0
+
+#CHECK: mdr %f0, %f0 # encoding: [0x2c,0x00]
+#CHECK: mdr %f0, %f15 # encoding: [0x2c,0x0f]
+#CHECK: mdr %f7, %f8 # encoding: [0x2c,0x78]
+#CHECK: mdr %f15, %f0 # encoding: [0x2c,0xf0]
+
+ mdr %f0, %f0
+ mdr %f0, %f15
+ mdr %f7, %f8
+ mdr %f15, %f0
+
+#CHECK: me %f0, 0 # encoding: [0x7c,0x00,0x00,0x00]
+#CHECK: me %f0, 4095 # encoding: [0x7c,0x00,0x0f,0xff]
+#CHECK: me %f0, 0(%r1) # encoding: [0x7c,0x00,0x10,0x00]
+#CHECK: me %f0, 0(%r15) # encoding: [0x7c,0x00,0xf0,0x00]
+#CHECK: me %f0, 4095(%r1,%r15) # encoding: [0x7c,0x01,0xff,0xff]
+#CHECK: me %f0, 4095(%r15,%r1) # encoding: [0x7c,0x0f,0x1f,0xff]
+#CHECK: me %f15, 0 # encoding: [0x7c,0xf0,0x00,0x00]
+
+ me %f0, 0
+ me %f0, 4095
+ me %f0, 0(%r1)
+ me %f0, 0(%r15)
+ me %f0, 4095(%r1,%r15)
+ me %f0, 4095(%r15,%r1)
+ me %f15, 0
+
+#CHECK: mee %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x37]
+#CHECK: mee %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x37]
+#CHECK: mee %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x37]
+#CHECK: mee %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x37]
+#CHECK: mee %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x37]
+#CHECK: mee %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x37]
+#CHECK: mee %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x37]
+
+ mee %f0, 0
+ mee %f0, 4095
+ mee %f0, 0(%r1)
+ mee %f0, 0(%r15)
+ mee %f0, 4095(%r1,%r15)
+ mee %f0, 4095(%r15,%r1)
+ mee %f15, 0
+
#CHECK: meeb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x17]
#CHECK: meeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x17]
#CHECK: meeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x17]
@@ -8982,6 +9922,26 @@
meebr %f7, %f8
meebr %f15, %f0
+#CHECK: meer %f0, %f0 # encoding: [0xb3,0x37,0x00,0x00]
+#CHECK: meer %f0, %f15 # encoding: [0xb3,0x37,0x00,0x0f]
+#CHECK: meer %f7, %f8 # encoding: [0xb3,0x37,0x00,0x78]
+#CHECK: meer %f15, %f0 # encoding: [0xb3,0x37,0x00,0xf0]
+
+ meer %f0, %f0
+ meer %f0, %f15
+ meer %f7, %f8
+ meer %f15, %f0
+
+#CHECK: mer %f0, %f0 # encoding: [0x3c,0x00]
+#CHECK: mer %f0, %f15 # encoding: [0x3c,0x0f]
+#CHECK: mer %f7, %f8 # encoding: [0x3c,0x78]
+#CHECK: mer %f15, %f0 # encoding: [0x3c,0xf0]
+
+ mer %f0, %f0
+ mer %f0, %f15
+ mer %f7, %f8
+ mer %f15, %f0
+
#CHECK: mfy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5c]
#CHECK: mfy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5c]
#CHECK: mfy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5c]
@@ -9190,6 +10150,26 @@
ms %r0, 4095(%r15,%r1)
ms %r15, 0
+#CHECK: msd %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3f]
+#CHECK: msd %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3f]
+#CHECK: msd %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3f]
+#CHECK: msd %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3f]
+#CHECK: msd %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3f]
+#CHECK: msd %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3f]
+#CHECK: msd %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3f]
+#CHECK: msd %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x3f]
+#CHECK: msd %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x3f]
+
+ msd %f0, %f0, 0
+ msd %f0, %f0, 4095
+ msd %f0, %f0, 0(%r1)
+ msd %f0, %f0, 0(%r15)
+ msd %f0, %f0, 4095(%r1,%r15)
+ msd %f0, %f0, 4095(%r15,%r1)
+ msd %f0, %f15, 0
+ msd %f15, %f0, 0
+ msd %f15, %f15, 0
+
#CHECK: msdb %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1f]
#CHECK: msdb %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1f]
#CHECK: msdb %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1f]
@@ -9224,6 +10204,40 @@
msdbr %f7, %f8, %f9
msdbr %f15, %f15, %f15
+#CHECK: msdr %f0, %f0, %f0 # encoding: [0xb3,0x3f,0x00,0x00]
+#CHECK: msdr %f0, %f0, %f15 # encoding: [0xb3,0x3f,0x00,0x0f]
+#CHECK: msdr %f0, %f15, %f0 # encoding: [0xb3,0x3f,0x00,0xf0]
+#CHECK: msdr %f15, %f0, %f0 # encoding: [0xb3,0x3f,0xf0,0x00]
+#CHECK: msdr %f7, %f8, %f9 # encoding: [0xb3,0x3f,0x70,0x89]
+#CHECK: msdr %f15, %f15, %f15 # encoding: [0xb3,0x3f,0xf0,0xff]
+
+ msdr %f0, %f0, %f0
+ msdr %f0, %f0, %f15
+ msdr %f0, %f15, %f0
+ msdr %f15, %f0, %f0
+ msdr %f7, %f8, %f9
+ msdr %f15, %f15, %f15
+
+#CHECK: mse %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x2f]
+#CHECK: mse %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x2f]
+#CHECK: mse %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x2f]
+#CHECK: mse %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x2f]
+#CHECK: mse %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x2f]
+#CHECK: mse %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x2f]
+#CHECK: mse %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x2f]
+#CHECK: mse %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x2f]
+#CHECK: mse %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x2f]
+
+ mse %f0, %f0, 0
+ mse %f0, %f0, 4095
+ mse %f0, %f0, 0(%r1)
+ mse %f0, %f0, 0(%r15)
+ mse %f0, %f0, 4095(%r1,%r15)
+ mse %f0, %f0, 4095(%r15,%r1)
+ mse %f0, %f15, 0
+ mse %f15, %f0, 0
+ mse %f15, %f15, 0
+
#CHECK: mseb %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0f]
#CHECK: mseb %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0f]
#CHECK: mseb %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0f]
@@ -9258,6 +10272,20 @@
msebr %f7, %f8, %f9
msebr %f15, %f15, %f15
+#CHECK: mser %f0, %f0, %f0 # encoding: [0xb3,0x2f,0x00,0x00]
+#CHECK: mser %f0, %f0, %f15 # encoding: [0xb3,0x2f,0x00,0x0f]
+#CHECK: mser %f0, %f15, %f0 # encoding: [0xb3,0x2f,0x00,0xf0]
+#CHECK: mser %f15, %f0, %f0 # encoding: [0xb3,0x2f,0xf0,0x00]
+#CHECK: mser %f7, %f8, %f9 # encoding: [0xb3,0x2f,0x70,0x89]
+#CHECK: mser %f15, %f15, %f15 # encoding: [0xb3,0x2f,0xf0,0xff]
+
+ mser %f0, %f0, %f0
+ mser %f0, %f0, %f15
+ mser %f0, %f15, %f0
+ mser %f15, %f0, %f0
+ mser %f7, %f8, %f9
+ mser %f15, %f15, %f15
+
#CHECK: msfi %r0, -2147483648 # encoding: [0xc2,0x01,0x80,0x00,0x00,0x00]
#CHECK: msfi %r0, -1 # encoding: [0xc2,0x01,0xff,0xff,0xff,0xff]
#CHECK: msfi %r0, 0 # encoding: [0xc2,0x01,0x00,0x00,0x00,0x00]
@@ -9722,6 +10750,22 @@
mxbr %f8, %f5
mxbr %f13, %f13
+#CHECK: mxd %f0, 0 # encoding: [0x67,0x00,0x00,0x00]
+#CHECK: mxd %f0, 4095 # encoding: [0x67,0x00,0x0f,0xff]
+#CHECK: mxd %f0, 0(%r1) # encoding: [0x67,0x00,0x10,0x00]
+#CHECK: mxd %f0, 0(%r15) # encoding: [0x67,0x00,0xf0,0x00]
+#CHECK: mxd %f0, 4095(%r1,%r15) # encoding: [0x67,0x01,0xff,0xff]
+#CHECK: mxd %f0, 4095(%r15,%r1) # encoding: [0x67,0x0f,0x1f,0xff]
+#CHECK: mxd %f13, 0 # encoding: [0x67,0xd0,0x00,0x00]
+
+ mxd %f0, 0
+ mxd %f0, 4095
+ mxd %f0, 0(%r1)
+ mxd %f0, 0(%r15)
+ mxd %f0, 4095(%r1,%r15)
+ mxd %f0, 4095(%r15,%r1)
+ mxd %f13, 0
+
#CHECK: mxdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x07]
#CHECK: mxdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x07]
#CHECK: mxdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x07]
@@ -9748,6 +10792,128 @@
mxdbr %f8, %f8
mxdbr %f13, %f0
+#CHECK: mxdr %f0, %f0 # encoding: [0x27,0x00]
+#CHECK: mxdr %f0, %f15 # encoding: [0x27,0x0f]
+#CHECK: mxdr %f8, %f8 # encoding: [0x27,0x88]
+#CHECK: mxdr %f13, %f0 # encoding: [0x27,0xd0]
+
+ mxdr %f0, %f0
+ mxdr %f0, %f15
+ mxdr %f8, %f8
+ mxdr %f13, %f0
+
+#CHECK: mxr %f0, %f0 # encoding: [0x26,0x00]
+#CHECK: mxr %f0, %f13 # encoding: [0x26,0x0d]
+#CHECK: mxr %f8, %f5 # encoding: [0x26,0x85]
+#CHECK: mxr %f13, %f13 # encoding: [0x26,0xdd]
+
+ mxr %f0, %f0
+ mxr %f0, %f13
+ mxr %f8, %f5
+ mxr %f13, %f13
+
+#CHECK: my %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3b]
+#CHECK: my %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3b]
+#CHECK: my %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3b]
+#CHECK: my %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3b]
+#CHECK: my %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3b]
+#CHECK: my %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3b]
+#CHECK: my %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3b]
+#CHECK: my %f13, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0x3b]
+#CHECK: my %f13, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xd0,0x3b]
+
+ my %f0, %f0, 0
+ my %f0, %f0, 4095
+ my %f0, %f0, 0(%r1)
+ my %f0, %f0, 0(%r15)
+ my %f0, %f0, 4095(%r1,%r15)
+ my %f0, %f0, 4095(%r15,%r1)
+ my %f0, %f15, 0
+ my %f13, %f0, 0
+ my %f13, %f15, 0
+
+#CHECK: myh %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3d]
+#CHECK: myh %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3d]
+#CHECK: myh %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3d]
+#CHECK: myh %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x3d]
+#CHECK: myh %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x3d]
+#CHECK: myh %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x3d]
+#CHECK: myh %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x3d]
+#CHECK: myh %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x3d]
+#CHECK: myh %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x3d]
+
+ myh %f0, %f0, 0
+ myh %f0, %f0, 4095
+ myh %f0, %f0, 0(%r1)
+ myh %f0, %f0, 0(%r15)
+ myh %f0, %f0, 4095(%r1,%r15)
+ myh %f0, %f0, 4095(%r15,%r1)
+ myh %f0, %f15, 0
+ myh %f15, %f0, 0
+ myh %f15, %f15, 0
+
+#CHECK: myhr %f0, %f0, %f0 # encoding: [0xb3,0x3d,0x00,0x00]
+#CHECK: myhr %f0, %f0, %f15 # encoding: [0xb3,0x3d,0x00,0x0f]
+#CHECK: myhr %f0, %f15, %f0 # encoding: [0xb3,0x3d,0x00,0xf0]
+#CHECK: myhr %f15, %f0, %f0 # encoding: [0xb3,0x3d,0xf0,0x00]
+#CHECK: myhr %f7, %f8, %f9 # encoding: [0xb3,0x3d,0x70,0x89]
+#CHECK: myhr %f15, %f15, %f15 # encoding: [0xb3,0x3d,0xf0,0xff]
+
+ myhr %f0, %f0, %f0
+ myhr %f0, %f0, %f15
+ myhr %f0, %f15, %f0
+ myhr %f15, %f0, %f0
+ myhr %f7, %f8, %f9
+ myhr %f15, %f15, %f15
+
+#CHECK: myl %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x39]
+#CHECK: myl %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x39]
+#CHECK: myl %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x39]
+#CHECK: myl %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x39]
+#CHECK: myl %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x39]
+#CHECK: myl %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x39]
+#CHECK: myl %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x39]
+#CHECK: myl %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x39]
+#CHECK: myl %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x39]
+
+ myl %f0, %f0, 0
+ myl %f0, %f0, 4095
+ myl %f0, %f0, 0(%r1)
+ myl %f0, %f0, 0(%r15)
+ myl %f0, %f0, 4095(%r1,%r15)
+ myl %f0, %f0, 4095(%r15,%r1)
+ myl %f0, %f15, 0
+ myl %f15, %f0, 0
+ myl %f15, %f15, 0
+
+#CHECK: mylr %f0, %f0, %f0 # encoding: [0xb3,0x39,0x00,0x00]
+#CHECK: mylr %f0, %f0, %f15 # encoding: [0xb3,0x39,0x00,0x0f]
+#CHECK: mylr %f0, %f15, %f0 # encoding: [0xb3,0x39,0x00,0xf0]
+#CHECK: mylr %f15, %f0, %f0 # encoding: [0xb3,0x39,0xf0,0x00]
+#CHECK: mylr %f7, %f8, %f9 # encoding: [0xb3,0x39,0x70,0x89]
+#CHECK: mylr %f15, %f15, %f15 # encoding: [0xb3,0x39,0xf0,0xff]
+
+ mylr %f0, %f0, %f0
+ mylr %f0, %f0, %f15
+ mylr %f0, %f15, %f0
+ mylr %f15, %f0, %f0
+ mylr %f7, %f8, %f9
+ mylr %f15, %f15, %f15
+
+#CHECK: myr %f0, %f0, %f0 # encoding: [0xb3,0x3b,0x00,0x00]
+#CHECK: myr %f0, %f0, %f15 # encoding: [0xb3,0x3b,0x00,0x0f]
+#CHECK: myr %f0, %f15, %f0 # encoding: [0xb3,0x3b,0x00,0xf0]
+#CHECK: myr %f13, %f0, %f0 # encoding: [0xb3,0x3b,0xd0,0x00]
+#CHECK: myr %f5, %f8, %f9 # encoding: [0xb3,0x3b,0x50,0x89]
+#CHECK: myr %f13, %f15, %f15 # encoding: [0xb3,0x3b,0xd0,0xff]
+
+ myr %f0, %f0, %f0
+ myr %f0, %f0, %f15
+ myr %f0, %f15, %f0
+ myr %f13, %f0, %f0
+ myr %f5, %f8, %f9
+ myr %f13, %f15, %f15
+
#CHECK: n %r0, 0 # encoding: [0x54,0x00,0x00,0x00]
#CHECK: n %r0, 4095 # encoding: [0x54,0x00,0x0f,0xff]
#CHECK: n %r0, 0(%r1) # encoding: [0x54,0x00,0x10,0x00]
@@ -10464,6 +11630,22 @@
sar %a7, %r8
sar %a15, %r15
+#CHECK: sd %f0, 0 # encoding: [0x6b,0x00,0x00,0x00]
+#CHECK: sd %f0, 4095 # encoding: [0x6b,0x00,0x0f,0xff]
+#CHECK: sd %f0, 0(%r1) # encoding: [0x6b,0x00,0x10,0x00]
+#CHECK: sd %f0, 0(%r15) # encoding: [0x6b,0x00,0xf0,0x00]
+#CHECK: sd %f0, 4095(%r1,%r15) # encoding: [0x6b,0x01,0xff,0xff]
+#CHECK: sd %f0, 4095(%r15,%r1) # encoding: [0x6b,0x0f,0x1f,0xff]
+#CHECK: sd %f15, 0 # encoding: [0x6b,0xf0,0x00,0x00]
+
+ sd %f0, 0
+ sd %f0, 4095
+ sd %f0, 0(%r1)
+ sd %f0, 0(%r15)
+ sd %f0, 4095(%r1,%r15)
+ sd %f0, 4095(%r15,%r1)
+ sd %f15, 0
+
#CHECK: sdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1b]
#CHECK: sdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1b]
#CHECK: sdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1b]
@@ -10490,6 +11672,32 @@
sdbr %f7, %f8
sdbr %f15, %f0
+#CHECK: sdr %f0, %f0 # encoding: [0x2b,0x00]
+#CHECK: sdr %f0, %f15 # encoding: [0x2b,0x0f]
+#CHECK: sdr %f7, %f8 # encoding: [0x2b,0x78]
+#CHECK: sdr %f15, %f0 # encoding: [0x2b,0xf0]
+
+ sdr %f0, %f0
+ sdr %f0, %f15
+ sdr %f7, %f8
+ sdr %f15, %f0
+
+#CHECK: se %f0, 0 # encoding: [0x7b,0x00,0x00,0x00]
+#CHECK: se %f0, 4095 # encoding: [0x7b,0x00,0x0f,0xff]
+#CHECK: se %f0, 0(%r1) # encoding: [0x7b,0x00,0x10,0x00]
+#CHECK: se %f0, 0(%r15) # encoding: [0x7b,0x00,0xf0,0x00]
+#CHECK: se %f0, 4095(%r1,%r15) # encoding: [0x7b,0x01,0xff,0xff]
+#CHECK: se %f0, 4095(%r15,%r1) # encoding: [0x7b,0x0f,0x1f,0xff]
+#CHECK: se %f15, 0 # encoding: [0x7b,0xf0,0x00,0x00]
+
+ se %f0, 0
+ se %f0, 4095
+ se %f0, 0(%r1)
+ se %f0, 0(%r15)
+ se %f0, 4095(%r1,%r15)
+ se %f0, 4095(%r15,%r1)
+ se %f15, 0
+
#CHECK: seb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x0b]
#CHECK: seb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x0b]
#CHECK: seb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x0b]
@@ -10516,6 +11724,16 @@
sebr %f7, %f8
sebr %f15, %f0
+#CHECK: ser %f0, %f0 # encoding: [0x3b,0x00]
+#CHECK: ser %f0, %f15 # encoding: [0x3b,0x0f]
+#CHECK: ser %f7, %f8 # encoding: [0x3b,0x78]
+#CHECK: ser %f15, %f0 # encoding: [0x3b,0xf0]
+
+ ser %f0, %f0
+ ser %f0, %f15
+ ser %f7, %f8
+ ser %f15, %f0
+
#CHECK: sfasr %r0 # encoding: [0xb3,0x85,0x00,0x00]
#CHECK: sfasr %r1 # encoding: [0xb3,0x85,0x00,0x10]
#CHECK: sfasr %r15 # encoding: [0xb3,0x85,0x00,0xf0]
@@ -10988,6 +12206,22 @@
spm %r1
spm %r15
+#CHECK: sqd %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x35]
+#CHECK: sqd %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x35]
+#CHECK: sqd %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x35]
+#CHECK: sqd %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x35]
+#CHECK: sqd %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x35]
+#CHECK: sqd %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x35]
+#CHECK: sqd %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x35]
+
+ sqd %f0, 0
+ sqd %f0, 4095
+ sqd %f0, 0(%r1)
+ sqd %f0, 0(%r15)
+ sqd %f0, 4095(%r1,%r15)
+ sqd %f0, 4095(%r15,%r1)
+ sqd %f15, 0
+
#CHECK: sqdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x15]
#CHECK: sqdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x15]
#CHECK: sqdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x15]
@@ -11014,6 +12248,32 @@
sqdbr %f7, %f8
sqdbr %f15, %f0
+#CHECK: sqdr %f0, %f0 # encoding: [0xb2,0x44,0x00,0x00]
+#CHECK: sqdr %f0, %f15 # encoding: [0xb2,0x44,0x00,0x0f]
+#CHECK: sqdr %f7, %f8 # encoding: [0xb2,0x44,0x00,0x78]
+#CHECK: sqdr %f15, %f0 # encoding: [0xb2,0x44,0x00,0xf0]
+
+ sqdr %f0, %f0
+ sqdr %f0, %f15
+ sqdr %f7, %f8
+ sqdr %f15, %f0
+
+#CHECK: sqe %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x34]
+#CHECK: sqe %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x34]
+#CHECK: sqe %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x34]
+#CHECK: sqe %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x34]
+#CHECK: sqe %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x34]
+#CHECK: sqe %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x34]
+#CHECK: sqe %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x34]
+
+ sqe %f0, 0
+ sqe %f0, 4095
+ sqe %f0, 0(%r1)
+ sqe %f0, 0(%r15)
+ sqe %f0, 4095(%r1,%r15)
+ sqe %f0, 4095(%r15,%r1)
+ sqe %f15, 0
+
#CHECK: sqeb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x14]
#CHECK: sqeb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x14]
#CHECK: sqeb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x14]
@@ -11040,6 +12300,16 @@
sqebr %f7, %f8
sqebr %f15, %f0
+#CHECK: sqer %f0, %f0 # encoding: [0xb2,0x45,0x00,0x00]
+#CHECK: sqer %f0, %f15 # encoding: [0xb2,0x45,0x00,0x0f]
+#CHECK: sqer %f7, %f8 # encoding: [0xb2,0x45,0x00,0x78]
+#CHECK: sqer %f15, %f0 # encoding: [0xb2,0x45,0x00,0xf0]
+
+ sqer %f0, %f0
+ sqer %f0, %f15
+ sqer %f7, %f8
+ sqer %f15, %f0
+
#CHECK: sqxbr %f0, %f0 # encoding: [0xb3,0x16,0x00,0x00]
#CHECK: sqxbr %f0, %f13 # encoding: [0xb3,0x16,0x00,0x0d]
#CHECK: sqxbr %f8, %f8 # encoding: [0xb3,0x16,0x00,0x88]
@@ -11050,6 +12320,16 @@
sqxbr %f8, %f8
sqxbr %f13, %f0
+#CHECK: sqxr %f0, %f0 # encoding: [0xb3,0x36,0x00,0x00]
+#CHECK: sqxr %f0, %f13 # encoding: [0xb3,0x36,0x00,0x0d]
+#CHECK: sqxr %f8, %f8 # encoding: [0xb3,0x36,0x00,0x88]
+#CHECK: sqxr %f13, %f0 # encoding: [0xb3,0x36,0x00,0xd0]
+
+ sqxr %f0, %f0
+ sqxr %f0, %f13
+ sqxr %f8, %f8
+ sqxr %f13, %f0
+
#CHECK: sr %r0, %r0 # encoding: [0x1b,0x00]
#CHECK: sr %r0, %r15 # encoding: [0x1b,0x0f]
#CHECK: sr %r15, %r0 # encoding: [0x1b,0xf0]
@@ -11979,6 +13259,32 @@
sty %r0, 524287(%r15,%r1)
sty %r15, 0
+#CHECK: su %f0, 0 # encoding: [0x7f,0x00,0x00,0x00]
+#CHECK: su %f0, 4095 # encoding: [0x7f,0x00,0x0f,0xff]
+#CHECK: su %f0, 0(%r1) # encoding: [0x7f,0x00,0x10,0x00]
+#CHECK: su %f0, 0(%r15) # encoding: [0x7f,0x00,0xf0,0x00]
+#CHECK: su %f0, 4095(%r1,%r15) # encoding: [0x7f,0x01,0xff,0xff]
+#CHECK: su %f0, 4095(%r15,%r1) # encoding: [0x7f,0x0f,0x1f,0xff]
+#CHECK: su %f15, 0 # encoding: [0x7f,0xf0,0x00,0x00]
+
+ su %f0, 0
+ su %f0, 4095
+ su %f0, 0(%r1)
+ su %f0, 0(%r15)
+ su %f0, 4095(%r1,%r15)
+ su %f0, 4095(%r15,%r1)
+ su %f15, 0
+
+#CHECK: sur %f0, %f0 # encoding: [0x3f,0x00]
+#CHECK: sur %f0, %f15 # encoding: [0x3f,0x0f]
+#CHECK: sur %f7, %f8 # encoding: [0x3f,0x78]
+#CHECK: sur %f15, %f0 # encoding: [0x3f,0xf0]
+
+ sur %f0, %f0
+ sur %f0, %f15
+ sur %f7, %f8
+ sur %f15, %f0
+
#CHECK: svc 0 # encoding: [0x0a,0x00]
#CHECK: svc 3 # encoding: [0x0a,0x03]
#CHECK: svc 128 # encoding: [0x0a,0x80]
@@ -11989,6 +13295,32 @@
svc 128
svc 0xff
+#CHECK: sw %f0, 0 # encoding: [0x6f,0x00,0x00,0x00]
+#CHECK: sw %f0, 4095 # encoding: [0x6f,0x00,0x0f,0xff]
+#CHECK: sw %f0, 0(%r1) # encoding: [0x6f,0x00,0x10,0x00]
+#CHECK: sw %f0, 0(%r15) # encoding: [0x6f,0x00,0xf0,0x00]
+#CHECK: sw %f0, 4095(%r1,%r15) # encoding: [0x6f,0x01,0xff,0xff]
+#CHECK: sw %f0, 4095(%r15,%r1) # encoding: [0x6f,0x0f,0x1f,0xff]
+#CHECK: sw %f15, 0 # encoding: [0x6f,0xf0,0x00,0x00]
+
+ sw %f0, 0
+ sw %f0, 4095
+ sw %f0, 0(%r1)
+ sw %f0, 0(%r15)
+ sw %f0, 4095(%r1,%r15)
+ sw %f0, 4095(%r15,%r1)
+ sw %f15, 0
+
+#CHECK: swr %f0, %f0 # encoding: [0x2f,0x00]
+#CHECK: swr %f0, %f15 # encoding: [0x2f,0x0f]
+#CHECK: swr %f7, %f8 # encoding: [0x2f,0x78]
+#CHECK: swr %f15, %f0 # encoding: [0x2f,0xf0]
+
+ swr %f0, %f0
+ swr %f0, %f15
+ swr %f7, %f8
+ swr %f15, %f0
+
#CHECK: sxbr %f0, %f0 # encoding: [0xb3,0x4b,0x00,0x00]
#CHECK: sxbr %f0, %f13 # encoding: [0xb3,0x4b,0x00,0x0d]
#CHECK: sxbr %f8, %f8 # encoding: [0xb3,0x4b,0x00,0x88]
@@ -11999,6 +13331,16 @@
sxbr %f8, %f8
sxbr %f13, %f0
+#CHECK: sxr %f0, %f0 # encoding: [0x37,0x00]
+#CHECK: sxr %f0, %f13 # encoding: [0x37,0x0d]
+#CHECK: sxr %f8, %f8 # encoding: [0x37,0x88]
+#CHECK: sxr %f13, %f0 # encoding: [0x37,0xd0]
+
+ sxr %f0, %f0
+ sxr %f0, %f13
+ sxr %f8, %f8
+ sxr %f13, %f0
+
#CHECK: sy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5b]
#CHECK: sy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5b]
#CHECK: sy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5b]
@@ -12025,6 +13367,30 @@
tam
+#CHECK: tbdr %f0, 0, %f0 # encoding: [0xb3,0x51,0x00,0x00]
+#CHECK: tbdr %f0, 0, %f15 # encoding: [0xb3,0x51,0x00,0x0f]
+#CHECK: tbdr %f0, 15, %f0 # encoding: [0xb3,0x51,0xf0,0x00]
+#CHECK: tbdr %f4, 5, %f6 # encoding: [0xb3,0x51,0x50,0x46]
+#CHECK: tbdr %f15, 0, %f0 # encoding: [0xb3,0x51,0x00,0xf0]
+
+ tbdr %f0, 0, %f0
+ tbdr %f0, 0, %f15
+ tbdr %f0, 15, %f0
+ tbdr %f4, 5, %f6
+ tbdr %f15, 0, %f0
+
+#CHECK: tbedr %f0, 0, %f0 # encoding: [0xb3,0x50,0x00,0x00]
+#CHECK: tbedr %f0, 0, %f15 # encoding: [0xb3,0x50,0x00,0x0f]
+#CHECK: tbedr %f0, 15, %f0 # encoding: [0xb3,0x50,0xf0,0x00]
+#CHECK: tbedr %f4, 5, %f6 # encoding: [0xb3,0x50,0x50,0x46]
+#CHECK: tbedr %f15, 0, %f0 # encoding: [0xb3,0x50,0x00,0xf0]
+
+ tbedr %f0, 0, %f0
+ tbedr %f0, 0, %f15
+ tbedr %f0, 15, %f0
+ tbedr %f4, 5, %f6
+ tbedr %f15, 0, %f0
+
#CHECK: tcdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x11]
#CHECK: tcdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x11]
#CHECK: tcdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x11]
@@ -12073,6 +13439,26 @@
tcxb %f0, 4095(%r15,%r1)
tcxb %f13, 0
+#CHECK: thder %f0, %f9 # encoding: [0xb3,0x58,0x00,0x09]
+#CHECK: thder %f0, %f15 # encoding: [0xb3,0x58,0x00,0x0f]
+#CHECK: thder %f15, %f0 # encoding: [0xb3,0x58,0x00,0xf0]
+#CHECK: thder %f15, %f9 # encoding: [0xb3,0x58,0x00,0xf9]
+
+ thder %f0,%f9
+ thder %f0,%f15
+ thder %f15,%f0
+ thder %f15,%f9
+
+#CHECK: thdr %f0, %f9 # encoding: [0xb3,0x59,0x00,0x09]
+#CHECK: thdr %f0, %f15 # encoding: [0xb3,0x59,0x00,0x0f]
+#CHECK: thdr %f15, %f0 # encoding: [0xb3,0x59,0x00,0xf0]
+#CHECK: thdr %f15, %f9 # encoding: [0xb3,0x59,0x00,0xf9]
+
+ thdr %f0,%f9
+ thdr %f0,%f15
+ thdr %f15,%f0
+ thdr %f15,%f9
+
#CHECK: tm 0, 0 # encoding: [0x91,0x00,0x00,0x00]
#CHECK: tm 4095, 0 # encoding: [0x91,0x00,0x0f,0xff]
#CHECK: tm 0, 255 # encoding: [0x91,0xff,0x00,0x00]
More information about the llvm-commits
mailing list