[SystemZ] Allow integer OR involving high words
[oota-llvm.git] / test / CodeGen / SystemZ / fp-move-02.ll
index b6fc0d58337f1594bc35a3b66be35dbbbde91a67..6f9da9ab69d46113d49caa65dcf6ee1a457e5a24 100644 (file)
@@ -44,9 +44,9 @@ define float @f3(i64 %big) {
 define float @f4(i64 %big) {
 ; CHECK-LABEL: f4:
 ; CHECK-NOT: %r2
-; CHECK: risbg [[REG:%r[0-5]]], %r2, 0, 159, 0
-; CHECK-NOT: [[REG]]
-; CHECK: ldgr %f0, [[REG]]
+; CHECK: nilf %r2, 0
+; CHECK-NOT: %r2
+; CHECK: ldgr %f0, %r2
   %shift = ashr i64 %big, 32
   %a = trunc i64 %shift to i32
   %res = bitcast i32 %a to float
@@ -63,11 +63,11 @@ define double @f5(i64 %a) {
 
 ; Test 128-bit moves from GPRs to FPRs.  i128 isn't a legitimate type,
 ; so this goes through memory.
-; FIXME: it would be better to use one MVC here.
 define void @f6(fp128 *%a, i128 *%b) {
 ; CHECK-LABEL: f6:
 ; CHECK: lg
-; CHECK: mvc
+; CHECK: lg
+; CHECK: stg
 ; CHECK: stg
 ; CHECK: br %r14
   %val = load i128 *%b