OSDN Git Service

Update aosp/master LLVM for rebase to r235153
[android-x86/external-llvm.git] / test / MC / SystemZ / insn-good-z196.s
index 5b0ed59..36bea38 100644 (file)
        ahik    %r15, %r0, 0
        ahik    %r7, %r8, -16
 
+#CHECK: aih    %r0, -2147483648        # encoding: [0xcc,0x08,0x80,0x00,0x00,0x00]
+#CHECK: aih    %r0, -1                 # encoding: [0xcc,0x08,0xff,0xff,0xff,0xff]
+#CHECK: aih    %r0, 0                  # encoding: [0xcc,0x08,0x00,0x00,0x00,0x00]
+#CHECK: aih    %r0, 1                  # encoding: [0xcc,0x08,0x00,0x00,0x00,0x01]
+#CHECK: aih    %r0, 2147483647         # encoding: [0xcc,0x08,0x7f,0xff,0xff,0xff]
+#CHECK: aih    %r15, 0                 # encoding: [0xcc,0xf8,0x00,0x00,0x00,0x00]
+
+       aih     %r0, -1 << 31
+       aih     %r0, -1
+       aih     %r0, 0
+       aih     %r0, 1
+       aih     %r0, (1 << 31) - 1
+       aih     %r15, 0
+
 #CHECK: alghsik        %r0, %r0, -32768        # encoding: [0xec,0x00,0x80,0x00,0x00,0xdb]
 #CHECK: alghsik        %r0, %r0, -1            # encoding: [0xec,0x00,0xff,0xff,0x00,0xdb]
 #CHECK: alghsik        %r0, %r0, 0             # encoding: [0xec,0x00,0x00,0x00,0x00,0xdb]
        ark     %r15,%r0,%r0
        ark     %r7,%r8,%r9
 
+#CHECK: cdlfbr %f0, 0, %r0, 0          # encoding: [0xb3,0x91,0x00,0x00]
+#CHECK: cdlfbr %f0, 0, %r0, 15         # encoding: [0xb3,0x91,0x0f,0x00]
+#CHECK: cdlfbr %f0, 0, %r15, 0         # encoding: [0xb3,0x91,0x00,0x0f]
+#CHECK: cdlfbr %f0, 15, %r0, 0         # encoding: [0xb3,0x91,0xf0,0x00]
+#CHECK: cdlfbr %f4, 5, %r6, 7          # encoding: [0xb3,0x91,0x57,0x46]
+#CHECK: cdlfbr %f15, 0, %r0, 0         # encoding: [0xb3,0x91,0x00,0xf0]
+
+       cdlfbr  %f0, 0, %r0, 0
+       cdlfbr  %f0, 0, %r0, 15
+       cdlfbr  %f0, 0, %r15, 0
+       cdlfbr  %f0, 15, %r0, 0
+       cdlfbr  %f4, 5, %r6, 7
+       cdlfbr  %f15, 0, %r0, 0
+
+#CHECK: cdlgbr %f0, 0, %r0, 0          # encoding: [0xb3,0xa1,0x00,0x00]
+#CHECK: cdlgbr %f0, 0, %r0, 15         # encoding: [0xb3,0xa1,0x0f,0x00]
+#CHECK: cdlgbr %f0, 0, %r15, 0         # encoding: [0xb3,0xa1,0x00,0x0f]
+#CHECK: cdlgbr %f0, 15, %r0, 0         # encoding: [0xb3,0xa1,0xf0,0x00]
+#CHECK: cdlgbr %f4, 5, %r6, 7          # encoding: [0xb3,0xa1,0x57,0x46]
+#CHECK: cdlgbr %f15, 0, %r0, 0         # encoding: [0xb3,0xa1,0x00,0xf0]
+
+       cdlgbr  %f0, 0, %r0, 0
+       cdlgbr  %f0, 0, %r0, 15
+       cdlgbr  %f0, 0, %r15, 0
+       cdlgbr  %f0, 15, %r0, 0
+       cdlgbr  %f4, 5, %r6, 7
+       cdlgbr  %f15, 0, %r0, 0
+
+#CHECK: celfbr %f0, 0, %r0, 0          # encoding: [0xb3,0x90,0x00,0x00]
+#CHECK: celfbr %f0, 0, %r0, 15         # encoding: [0xb3,0x90,0x0f,0x00]
+#CHECK: celfbr %f0, 0, %r15, 0         # encoding: [0xb3,0x90,0x00,0x0f]
+#CHECK: celfbr %f0, 15, %r0, 0         # encoding: [0xb3,0x90,0xf0,0x00]
+#CHECK: celfbr %f4, 5, %r6, 7          # encoding: [0xb3,0x90,0x57,0x46]
+#CHECK: celfbr %f15, 0, %r0, 0         # encoding: [0xb3,0x90,0x00,0xf0]
+
+       celfbr  %f0, 0, %r0, 0
+       celfbr  %f0, 0, %r0, 15
+       celfbr  %f0, 0, %r15, 0
+       celfbr  %f0, 15, %r0, 0
+       celfbr  %f4, 5, %r6, 7
+       celfbr  %f15, 0, %r0, 0
+
+#CHECK: celgbr %f0, 0, %r0, 0          # encoding: [0xb3,0xa0,0x00,0x00]
+#CHECK: celgbr %f0, 0, %r0, 15         # encoding: [0xb3,0xa0,0x0f,0x00]
+#CHECK: celgbr %f0, 0, %r15, 0         # encoding: [0xb3,0xa0,0x00,0x0f]
+#CHECK: celgbr %f0, 15, %r0, 0         # encoding: [0xb3,0xa0,0xf0,0x00]
+#CHECK: celgbr %f4, 5, %r6, 7          # encoding: [0xb3,0xa0,0x57,0x46]
+#CHECK: celgbr %f15, 0, %r0, 0         # encoding: [0xb3,0xa0,0x00,0xf0]
+
+       celgbr  %f0, 0, %r0, 0
+       celgbr  %f0, 0, %r0, 15
+       celgbr  %f0, 0, %r15, 0
+       celgbr  %f0, 15, %r0, 0
+       celgbr  %f4, 5, %r6, 7
+       celgbr  %f15, 0, %r0, 0
+
+#CHECK: chf    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcd]
+#CHECK: chf    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcd]
+#CHECK: chf    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcd]
+#CHECK: chf    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xcd]
+#CHECK: chf    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xcd]
+#CHECK: chf    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xcd]
+#CHECK: chf    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xcd]
+#CHECK: chf    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xcd]
+#CHECK: chf    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xcd]
+#CHECK: chf    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xcd]
+
+       chf     %r0, -524288
+       chf     %r0, -1
+       chf     %r0, 0
+       chf     %r0, 1
+       chf     %r0, 524287
+       chf     %r0, 0(%r1)
+       chf     %r0, 0(%r15)
+       chf     %r0, 524287(%r1,%r15)
+       chf     %r0, 524287(%r15,%r1)
+       chf     %r15, 0
+
+#CHECK: cih    %r0, -2147483648        # encoding: [0xcc,0x0d,0x80,0x00,0x00,0x00]
+#CHECK: cih    %r0, -1                 # encoding: [0xcc,0x0d,0xff,0xff,0xff,0xff]
+#CHECK: cih    %r0, 0                  # encoding: [0xcc,0x0d,0x00,0x00,0x00,0x00]
+#CHECK: cih    %r0, 1                  # encoding: [0xcc,0x0d,0x00,0x00,0x00,0x01]
+#CHECK: cih    %r0, 2147483647         # encoding: [0xcc,0x0d,0x7f,0xff,0xff,0xff]
+#CHECK: cih    %r15, 0                 # encoding: [0xcc,0xfd,0x00,0x00,0x00,0x00]
+
+       cih     %r0, -1 << 31
+       cih     %r0, -1
+       cih     %r0, 0
+       cih     %r0, 1
+       cih     %r0, (1 << 31) - 1
+       cih     %r15, 0
+
+#CHECK: clfdbr %r0, 0, %f0, 0          # encoding: [0xb3,0x9d,0x00,0x00]
+#CHECK: clfdbr %r0, 0, %f0, 15         # encoding: [0xb3,0x9d,0x0f,0x00]
+#CHECK: clfdbr %r0, 0, %f15, 0         # encoding: [0xb3,0x9d,0x00,0x0f]
+#CHECK: clfdbr %r0, 15, %f0, 0         # encoding: [0xb3,0x9d,0xf0,0x00]
+#CHECK: clfdbr %r4, 5, %f6, 7          # encoding: [0xb3,0x9d,0x57,0x46]
+#CHECK: clfdbr %r15, 0, %f0, 0         # encoding: [0xb3,0x9d,0x00,0xf0]
+
+       clfdbr  %r0, 0, %f0, 0
+       clfdbr  %r0, 0, %f0, 15
+       clfdbr  %r0, 0, %f15, 0
+       clfdbr  %r0, 15, %f0, 0
+       clfdbr  %r4, 5, %f6, 7
+       clfdbr  %r15, 0, %f0, 0
+
+#CHECK: clfebr %r0, 0, %f0, 0          # encoding: [0xb3,0x9c,0x00,0x00]
+#CHECK: clfebr %r0, 0, %f0, 15         # encoding: [0xb3,0x9c,0x0f,0x00]
+#CHECK: clfebr %r0, 0, %f15, 0         # encoding: [0xb3,0x9c,0x00,0x0f]
+#CHECK: clfebr %r0, 15, %f0, 0         # encoding: [0xb3,0x9c,0xf0,0x00]
+#CHECK: clfebr %r4, 5, %f6, 7          # encoding: [0xb3,0x9c,0x57,0x46]
+#CHECK: clfebr %r15, 0, %f0, 0         # encoding: [0xb3,0x9c,0x00,0xf0]
+
+       clfebr  %r0, 0, %f0, 0
+       clfebr  %r0, 0, %f0, 15
+       clfebr  %r0, 0, %f15, 0
+       clfebr  %r0, 15, %f0, 0
+       clfebr  %r4, 5, %f6, 7
+       clfebr  %r15, 0, %f0, 0
+
+#CHECK: clfxbr %r0, 0, %f0, 0          # encoding: [0xb3,0x9e,0x00,0x00]
+#CHECK: clfxbr %r0, 0, %f0, 15         # encoding: [0xb3,0x9e,0x0f,0x00]
+#CHECK: clfxbr %r0, 0, %f13, 0         # encoding: [0xb3,0x9e,0x00,0x0d]
+#CHECK: clfxbr %r0, 15, %f0, 0         # encoding: [0xb3,0x9e,0xf0,0x00]
+#CHECK: clfxbr %r7, 5, %f8, 9          # encoding: [0xb3,0x9e,0x59,0x78]
+#CHECK: clfxbr %r15, 0, %f0, 0         # encoding: [0xb3,0x9e,0x00,0xf0]
+
+       clfxbr  %r0, 0, %f0, 0
+       clfxbr  %r0, 0, %f0, 15
+       clfxbr  %r0, 0, %f13, 0
+       clfxbr  %r0, 15, %f0, 0
+       clfxbr  %r7, 5, %f8, 9
+       clfxbr  %r15, 0, %f0, 0
+
+#CHECK: clgdbr %r0, 0, %f0, 0          # encoding: [0xb3,0xad,0x00,0x00]
+#CHECK: clgdbr %r0, 0, %f0, 15         # encoding: [0xb3,0xad,0x0f,0x00]
+#CHECK: clgdbr %r0, 0, %f15, 0         # encoding: [0xb3,0xad,0x00,0x0f]
+#CHECK: clgdbr %r0, 15, %f0, 0         # encoding: [0xb3,0xad,0xf0,0x00]
+#CHECK: clgdbr %r4, 5, %f6, 7          # encoding: [0xb3,0xad,0x57,0x46]
+#CHECK: clgdbr %r15, 0, %f0, 0         # encoding: [0xb3,0xad,0x00,0xf0]
+
+       clgdbr  %r0, 0, %f0, 0
+       clgdbr  %r0, 0, %f0, 15
+       clgdbr  %r0, 0, %f15, 0
+       clgdbr  %r0, 15, %f0, 0
+       clgdbr  %r4, 5, %f6, 7
+       clgdbr  %r15, 0, %f0, 0
+
+#CHECK: clgebr %r0, 0, %f0, 0          # encoding: [0xb3,0xac,0x00,0x00]
+#CHECK: clgebr %r0, 0, %f0, 15         # encoding: [0xb3,0xac,0x0f,0x00]
+#CHECK: clgebr %r0, 0, %f15, 0         # encoding: [0xb3,0xac,0x00,0x0f]
+#CHECK: clgebr %r0, 15, %f0, 0         # encoding: [0xb3,0xac,0xf0,0x00]
+#CHECK: clgebr %r4, 5, %f6, 7          # encoding: [0xb3,0xac,0x57,0x46]
+#CHECK: clgebr %r15, 0, %f0, 0         # encoding: [0xb3,0xac,0x00,0xf0]
+
+       clgebr  %r0, 0, %f0, 0
+       clgebr  %r0, 0, %f0, 15
+       clgebr  %r0, 0, %f15, 0
+       clgebr  %r0, 15, %f0, 0
+       clgebr  %r4, 5, %f6, 7
+       clgebr  %r15, 0, %f0, 0
+
+#CHECK: clgxbr %r0, 0, %f0, 0          # encoding: [0xb3,0xae,0x00,0x00]
+#CHECK: clgxbr %r0, 0, %f0, 15         # encoding: [0xb3,0xae,0x0f,0x00]
+#CHECK: clgxbr %r0, 0, %f13, 0         # encoding: [0xb3,0xae,0x00,0x0d]
+#CHECK: clgxbr %r0, 15, %f0, 0         # encoding: [0xb3,0xae,0xf0,0x00]
+#CHECK: clgxbr %r7, 5, %f8, 9          # encoding: [0xb3,0xae,0x59,0x78]
+#CHECK: clgxbr %r15, 0, %f0, 0         # encoding: [0xb3,0xae,0x00,0xf0]
+
+       clgxbr  %r0, 0, %f0, 0
+       clgxbr  %r0, 0, %f0, 15
+       clgxbr  %r0, 0, %f13, 0
+       clgxbr  %r0, 15, %f0, 0
+       clgxbr  %r7, 5, %f8, 9
+       clgxbr  %r15, 0, %f0, 0
+
+#CHECK: clhf   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcf]
+#CHECK: clhf   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcf]
+#CHECK: clhf   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcf]
+#CHECK: clhf   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xcf]
+#CHECK: clhf   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xcf]
+#CHECK: clhf   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xcf]
+#CHECK: clhf   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xcf]
+#CHECK: clhf   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xcf]
+#CHECK: clhf   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xcf]
+#CHECK: clhf   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xcf]
+
+       clhf    %r0, -524288
+       clhf    %r0, -1
+       clhf    %r0, 0
+       clhf    %r0, 1
+       clhf    %r0, 524287
+       clhf    %r0, 0(%r1)
+       clhf    %r0, 0(%r15)
+       clhf    %r0, 524287(%r1,%r15)
+       clhf    %r0, 524287(%r15,%r1)
+       clhf    %r15, 0
+
+#CHECK: clih   %r0, 0                  # encoding: [0xcc,0x0f,0x00,0x00,0x00,0x00]
+#CHECK: clih   %r0, 1                  # encoding: [0xcc,0x0f,0x00,0x00,0x00,0x01]
+#CHECK: clih   %r0, 4294967295         # encoding: [0xcc,0x0f,0xff,0xff,0xff,0xff]
+#CHECK: clih   %r15, 0                 # encoding: [0xcc,0xff,0x00,0x00,0x00,0x00]
+
+       clih    %r0, 0
+       clih    %r0, 1
+       clih    %r0, (1 << 32) - 1
+       clih    %r15, 0
+
+#CHECK: cxlfbr %f0, 0, %r0, 0          # encoding: [0xb3,0x92,0x00,0x00]
+#CHECK: cxlfbr %f0, 0, %r0, 15         # encoding: [0xb3,0x92,0x0f,0x00]
+#CHECK: cxlfbr %f0, 0, %r15, 0         # encoding: [0xb3,0x92,0x00,0x0f]
+#CHECK: cxlfbr %f0, 15, %r0, 0         # encoding: [0xb3,0x92,0xf0,0x00]
+#CHECK: cxlfbr %f4, 5, %r9, 10         # encoding: [0xb3,0x92,0x5a,0x49]
+#CHECK: cxlfbr %f13, 0, %r0, 0         # encoding: [0xb3,0x92,0x00,0xd0]
+
+       cxlfbr  %f0, 0, %r0, 0
+       cxlfbr  %f0, 0, %r0, 15
+       cxlfbr  %f0, 0, %r15, 0
+       cxlfbr  %f0, 15, %r0, 0
+       cxlfbr  %f4, 5, %r9, 10
+       cxlfbr  %f13, 0, %r0, 0
+
+#CHECK: cxlgbr %f0, 0, %r0, 0          # encoding: [0xb3,0xa2,0x00,0x00]
+#CHECK: cxlgbr %f0, 0, %r0, 15         # encoding: [0xb3,0xa2,0x0f,0x00]
+#CHECK: cxlgbr %f0, 0, %r15, 0         # encoding: [0xb3,0xa2,0x00,0x0f]
+#CHECK: cxlgbr %f0, 15, %r0, 0         # encoding: [0xb3,0xa2,0xf0,0x00]
+#CHECK: cxlgbr %f4, 5, %r9, 10         # encoding: [0xb3,0xa2,0x5a,0x49]
+#CHECK: cxlgbr %f13, 0, %r0, 0         # encoding: [0xb3,0xa2,0x00,0xd0]
+
+       cxlgbr  %f0, 0, %r0, 0
+       cxlgbr  %f0, 0, %r0, 15
+       cxlgbr  %f0, 0, %r15, 0
+       cxlgbr  %f0, 15, %r0, 0
+       cxlgbr  %f4, 5, %r9, 10
+       cxlgbr  %f13, 0, %r0, 0
+
+#CHECK: fidbra %f0, 0, %f0, 0          # encoding: [0xb3,0x5f,0x00,0x00]
+#CHECK: fidbra %f0, 0, %f0, 15         # encoding: [0xb3,0x5f,0x0f,0x00]
+#CHECK: fidbra %f0, 0, %f15, 0         # encoding: [0xb3,0x5f,0x00,0x0f]
+#CHECK: fidbra %f0, 15, %f0, 0         # encoding: [0xb3,0x5f,0xf0,0x00]
+#CHECK: fidbra %f4, 5, %f6, 7          # encoding: [0xb3,0x5f,0x57,0x46]
+#CHECK: fidbra %f15, 0, %f0, 0         # encoding: [0xb3,0x5f,0x00,0xf0]
+
+       fidbra  %f0, 0, %f0, 0
+       fidbra  %f0, 0, %f0, 15
+       fidbra  %f0, 0, %f15, 0
+       fidbra  %f0, 15, %f0, 0
+       fidbra  %f4, 5, %f6, 7
+       fidbra  %f15, 0, %f0, 0
+
+#CHECK: fiebra %f0, 0, %f0, 0          # encoding: [0xb3,0x57,0x00,0x00]
+#CHECK: fiebra %f0, 0, %f0, 15         # encoding: [0xb3,0x57,0x0f,0x00]
+#CHECK: fiebra %f0, 0, %f15, 0         # encoding: [0xb3,0x57,0x00,0x0f]
+#CHECK: fiebra %f0, 15, %f0, 0         # encoding: [0xb3,0x57,0xf0,0x00]
+#CHECK: fiebra %f4, 5, %f6, 7          # encoding: [0xb3,0x57,0x57,0x46]
+#CHECK: fiebra %f15, 0, %f0, 0         # encoding: [0xb3,0x57,0x00,0xf0]
+
+       fiebra  %f0, 0, %f0, 0
+       fiebra  %f0, 0, %f0, 15
+       fiebra  %f0, 0, %f15, 0
+       fiebra  %f0, 15, %f0, 0
+       fiebra  %f4, 5, %f6, 7
+       fiebra  %f15, 0, %f0, 0
+
+#CHECK: fixbra %f0, 0, %f0, 0          # encoding: [0xb3,0x47,0x00,0x00]
+#CHECK: fixbra %f0, 0, %f0, 15         # encoding: [0xb3,0x47,0x0f,0x00]
+#CHECK: fixbra %f0, 0, %f13, 0         # encoding: [0xb3,0x47,0x00,0x0d]
+#CHECK: fixbra %f0, 15, %f0, 0         # encoding: [0xb3,0x47,0xf0,0x00]
+#CHECK: fixbra %f4, 5, %f8, 9          # encoding: [0xb3,0x47,0x59,0x48]
+#CHECK: fixbra %f13, 0, %f0, 0         # encoding: [0xb3,0x47,0x00,0xd0]
+
+       fixbra  %f0, 0, %f0, 0
+       fixbra  %f0, 0, %f0, 15
+       fixbra  %f0, 0, %f13, 0
+       fixbra  %f0, 15, %f0, 0
+       fixbra  %f4, 5, %f8, 9
+       fixbra  %f13, 0, %f0, 0
+
+#CHECK: laa    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf8]
+#CHECK: laa    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xf8]
+#CHECK: laa    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf8]
+#CHECK: laa    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xf8]
+#CHECK: laa    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf8]
+#CHECK: laa    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf8]
+#CHECK: laa    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf8]
+#CHECK: laa    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xf8]
+#CHECK: laa    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xf8]
+#CHECK: laa    %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf8]
+#CHECK: laa    %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf8]
+
+       laa     %r0, %r0, -524288
+       laa     %r0, %r0, -1
+       laa     %r0, %r0, 0
+       laa     %r0, %r0, 1
+       laa     %r0, %r0, 524287
+       laa     %r0, %r0, 0(%r1)
+       laa     %r0, %r0, 0(%r15)
+       laa     %r0, %r0, 524287(%r1)
+       laa     %r0, %r0, 524287(%r15)
+       laa     %r0, %r15, 0
+       laa     %r15, %r0, 0
+
+#CHECK: laag   %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe8]
+#CHECK: laag   %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xe8]
+#CHECK: laag   %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe8]
+#CHECK: laag   %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xe8]
+#CHECK: laag   %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe8]
+#CHECK: laag   %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe8]
+#CHECK: laag   %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe8]
+#CHECK: laag   %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xe8]
+#CHECK: laag   %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xe8]
+#CHECK: laag   %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe8]
+#CHECK: laag   %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe8]
+
+       laag    %r0, %r0, -524288
+       laag    %r0, %r0, -1
+       laag    %r0, %r0, 0
+       laag    %r0, %r0, 1
+       laag    %r0, %r0, 524287
+       laag    %r0, %r0, 0(%r1)
+       laag    %r0, %r0, 0(%r15)
+       laag    %r0, %r0, 524287(%r1)
+       laag    %r0, %r0, 524287(%r15)
+       laag    %r0, %r15, 0
+       laag    %r15, %r0, 0
+
+#CHECK: laal   %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xfa]
+#CHECK: laal   %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xfa]
+#CHECK: laal   %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xfa]
+#CHECK: laal   %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xfa]
+#CHECK: laal   %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xfa]
+#CHECK: laal   %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xfa]
+#CHECK: laal   %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xfa]
+#CHECK: laal   %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xfa]
+#CHECK: laal   %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xfa]
+#CHECK: laal   %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xfa]
+#CHECK: laal   %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xfa]
+
+       laal    %r0, %r0, -524288
+       laal    %r0, %r0, -1
+       laal    %r0, %r0, 0
+       laal    %r0, %r0, 1
+       laal    %r0, %r0, 524287
+       laal    %r0, %r0, 0(%r1)
+       laal    %r0, %r0, 0(%r15)
+       laal    %r0, %r0, 524287(%r1)
+       laal    %r0, %r0, 524287(%r15)
+       laal    %r0, %r15, 0
+       laal    %r15, %r0, 0
+
+#CHECK: laalg  %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xea]
+#CHECK: laalg  %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xea]
+#CHECK: laalg  %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xea]
+#CHECK: laalg  %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xea]
+#CHECK: laalg  %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xea]
+#CHECK: laalg  %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xea]
+#CHECK: laalg  %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xea]
+#CHECK: laalg  %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xea]
+#CHECK: laalg  %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xea]
+#CHECK: laalg  %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xea]
+#CHECK: laalg  %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xea]
+
+       laalg   %r0, %r0, -524288
+       laalg   %r0, %r0, -1
+       laalg   %r0, %r0, 0
+       laalg   %r0, %r0, 1
+       laalg   %r0, %r0, 524287
+       laalg   %r0, %r0, 0(%r1)
+       laalg   %r0, %r0, 0(%r15)
+       laalg   %r0, %r0, 524287(%r1)
+       laalg   %r0, %r0, 524287(%r15)
+       laalg   %r0, %r15, 0
+       laalg   %r15, %r0, 0
+
+#CHECK: lan    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf4]
+#CHECK: lan    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xf4]
+#CHECK: lan    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf4]
+#CHECK: lan    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xf4]
+#CHECK: lan    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf4]
+#CHECK: lan    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf4]
+#CHECK: lan    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf4]
+#CHECK: lan    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xf4]
+#CHECK: lan    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xf4]
+#CHECK: lan    %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf4]
+#CHECK: lan    %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf4]
+
+       lan     %r0, %r0, -524288
+       lan     %r0, %r0, -1
+       lan     %r0, %r0, 0
+       lan     %r0, %r0, 1
+       lan     %r0, %r0, 524287
+       lan     %r0, %r0, 0(%r1)
+       lan     %r0, %r0, 0(%r15)
+       lan     %r0, %r0, 524287(%r1)
+       lan     %r0, %r0, 524287(%r15)
+       lan     %r0, %r15, 0
+       lan     %r15, %r0, 0
+
+#CHECK: lang   %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe4]
+#CHECK: lang   %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xe4]
+#CHECK: lang   %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe4]
+#CHECK: lang   %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xe4]
+#CHECK: lang   %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe4]
+#CHECK: lang   %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe4]
+#CHECK: lang   %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe4]
+#CHECK: lang   %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xe4]
+#CHECK: lang   %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xe4]
+#CHECK: lang   %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe4]
+#CHECK: lang   %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe4]
+
+       lang    %r0, %r0, -524288
+       lang    %r0, %r0, -1
+       lang    %r0, %r0, 0
+       lang    %r0, %r0, 1
+       lang    %r0, %r0, 524287
+       lang    %r0, %r0, 0(%r1)
+       lang    %r0, %r0, 0(%r15)
+       lang    %r0, %r0, 524287(%r1)
+       lang    %r0, %r0, 524287(%r15)
+       lang    %r0, %r15, 0
+       lang    %r15, %r0, 0
+
+#CHECK: lao    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf6]
+#CHECK: lao    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xf6]
+#CHECK: lao    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf6]
+#CHECK: lao    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xf6]
+#CHECK: lao    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf6]
+#CHECK: lao    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf6]
+#CHECK: lao    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf6]
+#CHECK: lao    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xf6]
+#CHECK: lao    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xf6]
+#CHECK: lao    %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf6]
+#CHECK: lao    %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf6]
+
+       lao     %r0, %r0, -524288
+       lao     %r0, %r0, -1
+       lao     %r0, %r0, 0
+       lao     %r0, %r0, 1
+       lao     %r0, %r0, 524287
+       lao     %r0, %r0, 0(%r1)
+       lao     %r0, %r0, 0(%r15)
+       lao     %r0, %r0, 524287(%r1)
+       lao     %r0, %r0, 524287(%r15)
+       lao     %r0, %r15, 0
+       lao     %r15, %r0, 0
+
+#CHECK: laog   %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe6]
+#CHECK: laog   %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xe6]
+#CHECK: laog   %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe6]
+#CHECK: laog   %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xe6]
+#CHECK: laog   %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe6]
+#CHECK: laog   %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe6]
+#CHECK: laog   %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe6]
+#CHECK: laog   %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xe6]
+#CHECK: laog   %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xe6]
+#CHECK: laog   %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe6]
+#CHECK: laog   %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe6]
+
+       laog    %r0, %r0, -524288
+       laog    %r0, %r0, -1
+       laog    %r0, %r0, 0
+       laog    %r0, %r0, 1
+       laog    %r0, %r0, 524287
+       laog    %r0, %r0, 0(%r1)
+       laog    %r0, %r0, 0(%r15)
+       laog    %r0, %r0, 524287(%r1)
+       laog    %r0, %r0, 524287(%r15)
+       laog    %r0, %r15, 0
+       laog    %r15, %r0, 0
+
+#CHECK: lax    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf7]
+#CHECK: lax    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xf7]
+#CHECK: lax    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf7]
+#CHECK: lax    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xf7]
+#CHECK: lax    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf7]
+#CHECK: lax    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf7]
+#CHECK: lax    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf7]
+#CHECK: lax    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xf7]
+#CHECK: lax    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xf7]
+#CHECK: lax    %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf7]
+#CHECK: lax    %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf7]
+
+       lax     %r0, %r0, -524288
+       lax     %r0, %r0, -1
+       lax     %r0, %r0, 0
+       lax     %r0, %r0, 1
+       lax     %r0, %r0, 524287
+       lax     %r0, %r0, 0(%r1)
+       lax     %r0, %r0, 0(%r15)
+       lax     %r0, %r0, 524287(%r1)
+       lax     %r0, %r0, 524287(%r15)
+       lax     %r0, %r15, 0
+       lax     %r15, %r0, 0
+
+#CHECK: laxg   %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe7]
+#CHECK: laxg   %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xe7]
+#CHECK: laxg   %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe7]
+#CHECK: laxg   %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xe7]
+#CHECK: laxg   %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe7]
+#CHECK: laxg   %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe7]
+#CHECK: laxg   %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe7]
+#CHECK: laxg   %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xe7]
+#CHECK: laxg   %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xe7]
+#CHECK: laxg   %r0, %r15, 0            # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe7]
+#CHECK: laxg   %r15, %r0, 0            # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe7]
+
+       laxg    %r0, %r0, -524288
+       laxg    %r0, %r0, -1
+       laxg    %r0, %r0, 0
+       laxg    %r0, %r0, 1
+       laxg    %r0, %r0, 524287
+       laxg    %r0, %r0, 0(%r1)
+       laxg    %r0, %r0, 0(%r15)
+       laxg    %r0, %r0, 524287(%r1)
+       laxg    %r0, %r0, 524287(%r15)
+       laxg    %r0, %r15, 0
+       laxg    %r15, %r0, 0
+
+#CHECK: lbh    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc0]
+#CHECK: lbh    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc0]
+#CHECK: lbh    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc0]
+#CHECK: lbh    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc0]
+#CHECK: lbh    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc0]
+#CHECK: lbh    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc0]
+#CHECK: lbh    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc0]
+#CHECK: lbh    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc0]
+#CHECK: lbh    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc0]
+#CHECK: lbh    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc0]
+
+       lbh     %r0, -524288
+       lbh     %r0, -1
+       lbh     %r0, 0
+       lbh     %r0, 1
+       lbh     %r0, 524287
+       lbh     %r0, 0(%r1)
+       lbh     %r0, 0(%r15)
+       lbh     %r0, 524287(%r1,%r15)
+       lbh     %r0, 524287(%r15,%r1)
+       lbh     %r15, 0
+
+#CHECK: ldxbra %f0, 0, %f0, 0          # encoding: [0xb3,0x45,0x00,0x00]
+#CHECK: ldxbra %f0, 0, %f0, 15         # encoding: [0xb3,0x45,0x0f,0x00]
+#CHECK: ldxbra %f0, 0, %f13, 0         # encoding: [0xb3,0x45,0x00,0x0d]
+#CHECK: ldxbra %f0, 15, %f0, 0         # encoding: [0xb3,0x45,0xf0,0x00]
+#CHECK: ldxbra %f4, 5, %f8, 9          # encoding: [0xb3,0x45,0x59,0x48]
+#CHECK: ldxbra %f13, 0, %f0, 0         # encoding: [0xb3,0x45,0x00,0xd0]
+
+       ldxbra  %f0, 0, %f0, 0
+       ldxbra  %f0, 0, %f0, 15
+       ldxbra  %f0, 0, %f13, 0
+       ldxbra  %f0, 15, %f0, 0
+       ldxbra  %f4, 5, %f8, 9
+       ldxbra  %f13, 0, %f0, 0
+
+#CHECK: ledbra %f0, 0, %f0, 0          # encoding: [0xb3,0x44,0x00,0x00]
+#CHECK: ledbra %f0, 0, %f0, 15         # encoding: [0xb3,0x44,0x0f,0x00]
+#CHECK: ledbra %f0, 0, %f15, 0         # encoding: [0xb3,0x44,0x00,0x0f]
+#CHECK: ledbra %f0, 15, %f0, 0         # encoding: [0xb3,0x44,0xf0,0x00]
+#CHECK: ledbra %f4, 5, %f6, 7          # encoding: [0xb3,0x44,0x57,0x46]
+#CHECK: ledbra %f15, 0, %f0, 0         # encoding: [0xb3,0x44,0x00,0xf0]
+
+       ledbra  %f0, 0, %f0, 0
+       ledbra  %f0, 0, %f0, 15
+       ledbra  %f0, 0, %f15, 0
+       ledbra  %f0, 15, %f0, 0
+       ledbra  %f4, 5, %f6, 7
+       ledbra  %f15, 0, %f0, 0
+
+#CHECK: lexbra %f0, 0, %f0, 0          # encoding: [0xb3,0x46,0x00,0x00]
+#CHECK: lexbra %f0, 0, %f0, 15         # encoding: [0xb3,0x46,0x0f,0x00]
+#CHECK: lexbra %f0, 0, %f13, 0         # encoding: [0xb3,0x46,0x00,0x0d]
+#CHECK: lexbra %f0, 15, %f0, 0         # encoding: [0xb3,0x46,0xf0,0x00]
+#CHECK: lexbra %f4, 5, %f8, 9          # encoding: [0xb3,0x46,0x59,0x48]
+#CHECK: lexbra %f13, 0, %f0, 0         # encoding: [0xb3,0x46,0x00,0xd0]
+
+       lexbra  %f0, 0, %f0, 0
+       lexbra  %f0, 0, %f0, 15
+       lexbra  %f0, 0, %f13, 0
+       lexbra  %f0, 15, %f0, 0
+       lexbra  %f4, 5, %f8, 9
+       lexbra  %f13, 0, %f0, 0
+
+#CHECK: lfh    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xca]
+#CHECK: lfh    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xca]
+#CHECK: lfh    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xca]
+#CHECK: lfh    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xca]
+#CHECK: lfh    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xca]
+#CHECK: lfh    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xca]
+#CHECK: lfh    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xca]
+#CHECK: lfh    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xca]
+#CHECK: lfh    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xca]
+#CHECK: lfh    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xca]
+
+       lfh     %r0, -524288
+       lfh     %r0, -1
+       lfh     %r0, 0
+       lfh     %r0, 1
+       lfh     %r0, 524287
+       lfh     %r0, 0(%r1)
+       lfh     %r0, 0(%r15)
+       lfh     %r0, 524287(%r1,%r15)
+       lfh     %r0, 524287(%r15,%r1)
+       lfh     %r15, 0
+
+#CHECK: lhh    %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc4]
+#CHECK: lhh    %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc4]
+#CHECK: lhh    %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc4]
+#CHECK: lhh    %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc4]
+#CHECK: lhh    %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc4]
+#CHECK: lhh    %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc4]
+#CHECK: lhh    %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc4]
+#CHECK: lhh    %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc4]
+#CHECK: lhh    %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc4]
+#CHECK: lhh    %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc4]
+
+       lhh     %r0, -524288
+       lhh     %r0, -1
+       lhh     %r0, 0
+       lhh     %r0, 1
+       lhh     %r0, 524287
+       lhh     %r0, 0(%r1)
+       lhh     %r0, 0(%r15)
+       lhh     %r0, 524287(%r1,%r15)
+       lhh     %r0, 524287(%r15,%r1)
+       lhh     %r15, 0
+
+#CHECK: llch   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc2]
+#CHECK: llch   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc2]
+#CHECK: llch   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc2]
+#CHECK: llch   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc2]
+#CHECK: llch   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc2]
+#CHECK: llch   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc2]
+#CHECK: llch   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc2]
+#CHECK: llch   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc2]
+#CHECK: llch   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc2]
+#CHECK: llch   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc2]
+
+       llch    %r0, -524288
+       llch    %r0, -1
+       llch    %r0, 0
+       llch    %r0, 1
+       llch    %r0, 524287
+       llch    %r0, 0(%r1)
+       llch    %r0, 0(%r15)
+       llch    %r0, 524287(%r1,%r15)
+       llch    %r0, 524287(%r15,%r1)
+       llch    %r15, 0
+
+#CHECK: llhh   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc6]
+#CHECK: llhh   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc6]
+#CHECK: llhh   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc6]
+#CHECK: llhh   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc6]
+#CHECK: llhh   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc6]
+#CHECK: llhh   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc6]
+#CHECK: llhh   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc6]
+#CHECK: llhh   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc6]
+#CHECK: llhh   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc6]
+#CHECK: llhh   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc6]
+
+       llhh    %r0, -524288
+       llhh    %r0, -1
+       llhh    %r0, 0
+       llhh    %r0, 1
+       llhh    %r0, 524287
+       llhh    %r0, 0(%r1)
+       llhh    %r0, 0(%r15)
+       llhh    %r0, 524287(%r1,%r15)
+       llhh    %r0, 524287(%r15,%r1)
+       llhh    %r15, 0
+
+#CHECK: loc    %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf2]
+#CHECK: loc    %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf2]
+#CHECK: loc    %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf2]
+#CHECK: loc    %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf2]
+#CHECK: loc    %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf2]
+#CHECK: loc    %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf2]
+#CHECK: loc    %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf2]
+#CHECK: loc    %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xf2]
+
+       loc     %r0,0,0
+       loc     %r0,0,15
+       loc     %r0,-524288,0
+       loc     %r0,524287,0
+       loc     %r0,0(%r1),0
+       loc     %r0,0(%r15),0
+       loc     %r15,0,0
+       loc     %r1,4095(%r2),3
+
+#CHECK: loco   %r1, 2(%r3)              # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf2]
+#CHECK: loch   %r1, 2(%r3)              # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf2]
+#CHECK: locnle %r1, 2(%r3)              # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf2]
+#CHECK: locl   %r1, 2(%r3)              # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf2]
+#CHECK: locnhe %r1, 2(%r3)              # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf2]
+#CHECK: loclh  %r1, 2(%r3)              # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf2]
+#CHECK: locne  %r1, 2(%r3)              # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf2]
+#CHECK: loce   %r1, 2(%r3)              # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf2]
+#CHECK: locnlh %r1, 2(%r3)              # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf2]
+#CHECK: loche  %r1, 2(%r3)              # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf2]
+#CHECK: locnl  %r1, 2(%r3)              # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf2]
+#CHECK: locle  %r1, 2(%r3)              # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf2]
+#CHECK: locnh  %r1, 2(%r3)              # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf2]
+#CHECK: locno  %r1, 2(%r3)              # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf2]
+
+       loco   %r1,2(%r3)
+       loch   %r1,2(%r3)
+       locnle %r1,2(%r3)
+       locl   %r1,2(%r3)
+       locnhe %r1,2(%r3)
+       loclh  %r1,2(%r3)
+       locne  %r1,2(%r3)
+       loce   %r1,2(%r3)
+       locnlh %r1,2(%r3)
+       loche  %r1,2(%r3)
+       locnl  %r1,2(%r3)
+       locle  %r1,2(%r3)
+       locnh  %r1,2(%r3)
+       locno  %r1,2(%r3)
+
+#CHECK: locg   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe2]
+#CHECK: locg   %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe2]
+#CHECK: locg   %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe2]
+#CHECK: locg   %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe2]
+#CHECK: locg   %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe2]
+#CHECK: locg   %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe2]
+#CHECK: locg   %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe2]
+#CHECK: locg   %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xe2]
+
+       locg    %r0,0,0
+       locg    %r0,0,15
+       locg    %r0,-524288,0
+       locg    %r0,524287,0
+       locg    %r0,0(%r1),0
+       locg    %r0,0(%r15),0
+       locg    %r15,0,0
+       locg    %r1,4095(%r2),3
+
+#CHECK: locgo   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe2]
+#CHECK: locgh   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe2]
+#CHECK: locgnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe2]
+#CHECK: locgl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe2]
+#CHECK: locgnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe2]
+#CHECK: locglh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe2]
+#CHECK: locgne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe2]
+#CHECK: locge   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe2]
+#CHECK: locgnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe2]
+#CHECK: locghe  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe2]
+#CHECK: locgnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe2]
+#CHECK: locgle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe2]
+#CHECK: locgnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe2]
+#CHECK: locgno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe2]
+
+       locgo   %r1,2(%r3)
+       locgh   %r1,2(%r3)
+       locgnle %r1,2(%r3)
+       locgl   %r1,2(%r3)
+       locgnhe %r1,2(%r3)
+       locglh  %r1,2(%r3)
+       locgne  %r1,2(%r3)
+       locge   %r1,2(%r3)
+       locgnlh %r1,2(%r3)
+       locghe  %r1,2(%r3)
+       locgnl  %r1,2(%r3)
+       locgle  %r1,2(%r3)
+       locgnh  %r1,2(%r3)
+       locgno  %r1,2(%r3)
+
+#CHECK: locgr  %r1, %r2, 0             # encoding: [0xb9,0xe2,0x00,0x12]
+#CHECK: locgr  %r1, %r2, 15            # encoding: [0xb9,0xe2,0xf0,0x12]
+
+       locgr   %r1,%r2,0
+       locgr   %r1,%r2,15
+
+#CHECK: locgro   %r1, %r3               # encoding: [0xb9,0xe2,0x10,0x13]
+#CHECK: locgrh   %r1, %r3               # encoding: [0xb9,0xe2,0x20,0x13]
+#CHECK: locgrnle %r1, %r3               # encoding: [0xb9,0xe2,0x30,0x13]
+#CHECK: locgrl   %r1, %r3               # encoding: [0xb9,0xe2,0x40,0x13]
+#CHECK: locgrnhe %r1, %r3               # encoding: [0xb9,0xe2,0x50,0x13]
+#CHECK: locgrlh  %r1, %r3               # encoding: [0xb9,0xe2,0x60,0x13]
+#CHECK: locgrne  %r1, %r3               # encoding: [0xb9,0xe2,0x70,0x13]
+#CHECK: locgre   %r1, %r3               # encoding: [0xb9,0xe2,0x80,0x13]
+#CHECK: locgrnlh %r1, %r3               # encoding: [0xb9,0xe2,0x90,0x13]
+#CHECK: locgrhe  %r1, %r3               # encoding: [0xb9,0xe2,0xa0,0x13]
+#CHECK: locgrnl  %r1, %r3               # encoding: [0xb9,0xe2,0xb0,0x13]
+#CHECK: locgrle  %r1, %r3               # encoding: [0xb9,0xe2,0xc0,0x13]
+#CHECK: locgrnh  %r1, %r3               # encoding: [0xb9,0xe2,0xd0,0x13]
+#CHECK: locgrno  %r1, %r3               # encoding: [0xb9,0xe2,0xe0,0x13]
+
+       locgro   %r1,%r3
+       locgrh   %r1,%r3
+       locgrnle %r1,%r3
+       locgrl   %r1,%r3
+       locgrnhe %r1,%r3
+       locgrlh  %r1,%r3
+       locgrne  %r1,%r3
+       locgre   %r1,%r3
+       locgrnlh %r1,%r3
+       locgrhe  %r1,%r3
+       locgrnl  %r1,%r3
+       locgrle  %r1,%r3
+       locgrnh  %r1,%r3
+       locgrno  %r1,%r3
+
+#CHECK: locr   %r1, %r2, 0             # encoding: [0xb9,0xf2,0x00,0x12]
+#CHECK: locr   %r1, %r2, 15            # encoding: [0xb9,0xf2,0xf0,0x12]
+
+       locr    %r1,%r2,0
+       locr    %r1,%r2,15
+
+#CHECK: locro   %r1, %r3                # encoding: [0xb9,0xf2,0x10,0x13]
+#CHECK: locrh   %r1, %r3                # encoding: [0xb9,0xf2,0x20,0x13]
+#CHECK: locrnle %r1, %r3                # encoding: [0xb9,0xf2,0x30,0x13]
+#CHECK: locrl   %r1, %r3                # encoding: [0xb9,0xf2,0x40,0x13]
+#CHECK: locrnhe %r1, %r3                # encoding: [0xb9,0xf2,0x50,0x13]
+#CHECK: locrlh  %r1, %r3                # encoding: [0xb9,0xf2,0x60,0x13]
+#CHECK: locrne  %r1, %r3                # encoding: [0xb9,0xf2,0x70,0x13]
+#CHECK: locre   %r1, %r3                # encoding: [0xb9,0xf2,0x80,0x13]
+#CHECK: locrnlh %r1, %r3                # encoding: [0xb9,0xf2,0x90,0x13]
+#CHECK: locrhe  %r1, %r3                # encoding: [0xb9,0xf2,0xa0,0x13]
+#CHECK: locrnl  %r1, %r3                # encoding: [0xb9,0xf2,0xb0,0x13]
+#CHECK: locrle  %r1, %r3                # encoding: [0xb9,0xf2,0xc0,0x13]
+#CHECK: locrnh  %r1, %r3                # encoding: [0xb9,0xf2,0xd0,0x13]
+#CHECK: locrno  %r1, %r3                # encoding: [0xb9,0xf2,0xe0,0x13]
+
+       locro   %r1,%r3
+       locrh   %r1,%r3
+       locrnle %r1,%r3
+       locrl   %r1,%r3
+       locrnhe %r1,%r3
+       locrlh  %r1,%r3
+       locrne  %r1,%r3
+       locre   %r1,%r3
+       locrnlh %r1,%r3
+       locrhe  %r1,%r3
+       locrnl  %r1,%r3
+       locrle  %r1,%r3
+       locrnh  %r1,%r3
+       locrno  %r1,%r3
+
 #CHECK: ngrk   %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
 #CHECK: ngrk   %r0, %r0, %r15          # encoding: [0xb9,0xe4,0xf0,0x00]
 #CHECK: ngrk   %r0, %r15, %r0          # encoding: [0xb9,0xe4,0x00,0x0f]
        ork     %r15,%r0,%r0
        ork     %r7,%r8,%r9
 
+#CHECK: popcnt %r0, %r0                # encoding: [0xb9,0xe1,0x00,0x00]
+#CHECK: popcnt %r0, %r15               # encoding: [0xb9,0xe1,0x00,0x0f]
+#CHECK: popcnt %r15, %r0               # encoding: [0xb9,0xe1,0x00,0xf0]
+#CHECK: popcnt %r7, %r8                # encoding: [0xb9,0xe1,0x00,0x78]
+
+       popcnt  %r0,%r0
+       popcnt  %r0,%r15
+       popcnt  %r15,%r0
+       popcnt  %r7,%r8
+
+#CHECK: risbhg %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x5d]
+#CHECK: risbhg %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x5d]
+#CHECK: risbhg %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x5d]
+#CHECK: risbhg %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x5d]
+#CHECK: risbhg %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x5d]
+#CHECK: risbhg %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x5d]
+#CHECK: risbhg %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x5d]
+
+       risbhg  %r0,%r0,0,0,0
+       risbhg  %r0,%r0,0,0,63
+       risbhg  %r0,%r0,0,255,0
+       risbhg  %r0,%r0,255,0,0
+       risbhg  %r0,%r15,0,0,0
+       risbhg  %r15,%r0,0,0,0
+       risbhg  %r4,%r5,6,7,8
+
+#CHECK: risblg %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x51]
+#CHECK: risblg %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x51]
+#CHECK: risblg %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x51]
+#CHECK: risblg %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x51]
+#CHECK: risblg %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x51]
+#CHECK: risblg %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x51]
+#CHECK: risblg %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x51]
+
+       risblg  %r0,%r0,0,0,0
+       risblg  %r0,%r0,0,0,63
+       risblg  %r0,%r0,0,255,0
+       risblg  %r0,%r0,255,0,0
+       risblg  %r0,%r15,0,0,0
+       risblg  %r15,%r0,0,0,0
+       risblg  %r4,%r5,6,7,8
+
 #CHECK: sgrk   %r0, %r0, %r0           # encoding: [0xb9,0xe9,0x00,0x00]
 #CHECK: sgrk   %r0, %r0, %r15          # encoding: [0xb9,0xe9,0xf0,0x00]
 #CHECK: sgrk   %r0, %r15, %r0          # encoding: [0xb9,0xe9,0x00,0x0f]
        srlk    %r0,%r0,524287(%r1)
        srlk    %r0,%r0,524287(%r15)
 
+#CHECK: stch   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc3]
+#CHECK: stch   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc3]
+#CHECK: stch   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc3]
+#CHECK: stch   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc3]
+#CHECK: stch   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc3]
+#CHECK: stch   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc3]
+#CHECK: stch   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc3]
+#CHECK: stch   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc3]
+#CHECK: stch   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc3]
+#CHECK: stch   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc3]
+
+       stch    %r0, -524288
+       stch    %r0, -1
+       stch    %r0, 0
+       stch    %r0, 1
+       stch    %r0, 524287
+       stch    %r0, 0(%r1)
+       stch    %r0, 0(%r15)
+       stch    %r0, 524287(%r1,%r15)
+       stch    %r0, 524287(%r15,%r1)
+       stch    %r15, 0
+
+#CHECK: sthh   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc7]
+#CHECK: sthh   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc7]
+#CHECK: sthh   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc7]
+#CHECK: sthh   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc7]
+#CHECK: sthh   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc7]
+#CHECK: sthh   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc7]
+#CHECK: sthh   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc7]
+#CHECK: sthh   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc7]
+#CHECK: sthh   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc7]
+#CHECK: sthh   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc7]
+
+       sthh    %r0, -524288
+       sthh    %r0, -1
+       sthh    %r0, 0
+       sthh    %r0, 1
+       sthh    %r0, 524287
+       sthh    %r0, 0(%r1)
+       sthh    %r0, 0(%r15)
+       sthh    %r0, 524287(%r1,%r15)
+       sthh    %r0, 524287(%r15,%r1)
+       sthh    %r15, 0
+
+#CHECK: stfh   %r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcb]
+#CHECK: stfh   %r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcb]
+#CHECK: stfh   %r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcb]
+#CHECK: stfh   %r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xcb]
+#CHECK: stfh   %r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xcb]
+#CHECK: stfh   %r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xcb]
+#CHECK: stfh   %r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xcb]
+#CHECK: stfh   %r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xcb]
+#CHECK: stfh   %r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xcb]
+#CHECK: stfh   %r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xcb]
+
+       stfh    %r0, -524288
+       stfh    %r0, -1
+       stfh    %r0, 0
+       stfh    %r0, 1
+       stfh    %r0, 524287
+       stfh    %r0, 0(%r1)
+       stfh    %r0, 0(%r15)
+       stfh    %r0, 524287(%r1,%r15)
+       stfh    %r0, 524287(%r15,%r1)
+       stfh    %r15, 0
+
 #CHECK: stoc   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf3]
 #CHECK: stoc   %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf3]
 #CHECK: stoc   %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf3]