[PowerPC] Eliminate compares - add i32 sext/zext handling for SETLT/SETGT
[llvm-core.git] / test / CodeGen / SystemZ / fp-cmp-07.mir
blob1d766fe300a9e923940dcef516a5c9d378b90901
1 # RUN: llc -mtriple=s390x-linux-gnu -mcpu=z10 -no-integrated-as -start-after=block-placement %s -o - | FileCheck %s
2 # Test that LTEBR is used without an unnecessary LER
4 --- |
5   define float @f15(float %val, float %dummy, float* %dest) {
6   entry:
7     call void asm sideeffect "blah $0", "{f2}"(float %val)
8     %cmp = fcmp olt float %val, 0.000000e+00
9     br i1 %cmp, label %exit, label %store
11   store:                                            ; preds = %entry
12     store float %val, float* %dest
13     br label %exit
15   exit:                                             ; preds = %store, %entry
16     ret float %val
17   }
19 ...
21 # CHECK: ltebr %f2, %f0
23 ---
24 name:            f15
25 tracksRegLiveness: true
26 liveins:
27   - { reg: '%f0s', virtual-reg: '' }
28   - { reg: '%r2d', virtual-reg: '' }
29 body:             |
30   bb.0.entry:
31     liveins: %f0s, %r2d
33     LTEBRCompare %f0s, %f0s, implicit-def %cc
34     %f2s = LER %f0s
35     INLINEASM $"blah $0", 1, 9, %f2s
36     CondReturn 15, 4, implicit %f0s, implicit %cc
38   bb.1.store:
39     liveins: %f0s, %r2d
41     STE %f0s, killed %r2d, 0, _ :: (store 4 into %ir.dest)
42     Return implicit %f0s
44 ...