[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Transforms / InstCombine / ExtractCast.ll
blob9a8872f2fb1f3123e8db2657d39edba97c70bb1a
1 ; RUN: opt < %s -instcombine -S -o - | FileCheck %s
3 ; CHECK-LABEL: @a(
4 define i32 @a(<4 x i64> %I) {
5 entry:
6 ; CHECK-NOT: trunc <4 x i64>
7         %J = trunc <4 x i64> %I to <4 x i32>
8         %K = extractelement <4 x i32> %J, i32 3
9 ; CHECK: extractelement <4 x i64>
10 ; CHECK: trunc i64
11 ; CHECK: ret
12         ret i32 %K
16 ; CHECK-LABEL: @b(
17 define i32 @b(<4 x float> %I) {
18 entry:
19 ; CHECK-NOT: fptosi <4 x float>
20         %J = fptosi <4 x float> %I to <4 x i32>
21         %K = extractelement <4 x i32> %J, i32 3
22 ; CHECK: extractelement <4 x float>
23 ; CHECK: fptosi float
24 ; CHECK: ret
25         ret i32 %K