// Register loads.
let canFoldAsLoad = 1, SimpleBDXLoad = 1 in {
defm L : UnaryRXPair<"l", 0x58, 0xE358, load, GR32, 4>;
- def LFH : UnaryRXY<"lfh", 0xE3CA, load, GRH32, 4>,
- Requires<[FeatureHighWord]>;
def LG : UnaryRXY<"lg", 0xE304, load, GR64, 8>;
// These instructions are split after register allocation, so we don't
// Register stores.
let SimpleBDXStore = 1 in {
defm ST : StoreRXPair<"st", 0x50, 0xE350, store, GR32, 4>;
- def STFH : StoreRXY<"stfh", 0xE3CB, store, GRH32, 4>,
- Requires<[FeatureHighWord]>;
def STG : StoreRXY<"stg", 0xE324, store, GR64, 8>;
// These instructions are split after register allocation, so we don't
# CHECK: ley %f15, 0
0xed 0xf0 0x00 0x00 0x00 0x64
-# CHECK: lfh %r0, -524288
-0xe3 0x00 0x00 0x00 0x80 0xca
-
-# CHECK: lfh %r0, -1
-0xe3 0x00 0x0f 0xff 0xff 0xca
-
-# CHECK: lfh %r0, 0
-0xe3 0x00 0x00 0x00 0x00 0xca
-
-# CHECK: lfh %r0, 1
-0xe3 0x00 0x00 0x01 0x00 0xca
-
-# CHECK: lfh %r0, 524287
-0xe3 0x00 0x0f 0xff 0x7f 0xca
-
-# CHECK: lfh %r0, 0(%r1)
-0xe3 0x00 0x10 0x00 0x00 0xca
-
-# CHECK: lfh %r0, 0(%r15)
-0xe3 0x00 0xf0 0x00 0x00 0xca
-
-# CHECK: lfh %r0, 524287(%r1,%r15)
-0xe3 0x01 0xff 0xff 0x7f 0xca
-
-# CHECK: lfh %r0, 524287(%r15,%r1)
-0xe3 0x0f 0x1f 0xff 0x7f 0xca
-
-# CHECK: lfh %r15, 0
-0xe3 0xf0 0x00 0x00 0x00 0xca
-
# CHECK: lgbr %r0, %r15
0xb9 0x06 0x00 0x0f
# CHECK: sth %r15, 0
0x40 0xf0 0x00 0x00
-# CHECK: stfh %r0, -524288
-0xe3 0x00 0x00 0x00 0x80 0xcb
-
-# CHECK: stfh %r0, -1
-0xe3 0x00 0x0f 0xff 0xff 0xcb
-
-# CHECK: stfh %r0, 0
-0xe3 0x00 0x00 0x00 0x00 0xcb
-
-# CHECK: stfh %r0, 1
-0xe3 0x00 0x00 0x01 0x00 0xcb
-
-# CHECK: stfh %r0, 524287
-0xe3 0x00 0x0f 0xff 0x7f 0xcb
-
-# CHECK: stfh %r0, 0(%r1)
-0xe3 0x00 0x10 0x00 0x00 0xcb
-
-# CHECK: stfh %r0, 0(%r15)
-0xe3 0x00 0xf0 0x00 0x00 0xcb
-
-# CHECK: stfh %r0, 524287(%r1,%r15)
-0xe3 0x01 0xff 0xff 0x7f 0xcb
-
-# CHECK: stfh %r0, 524287(%r15,%r1)
-0xe3 0x0f 0x1f 0xff 0x7f 0xcb
-
-# CHECK: stfh %r15, 0
-0xe3 0xf0 0x00 0x00 0x00 0xcb
-
# CHECK: sthy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x70
fixbra %f4, 5, %f8, 9
fixbra %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: 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]
srlk %r0,%r0,524287(%r1)
srlk %r0,%r0,524287(%r15)
-#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]