| ; RUN: opt < %s -instcombine -S -o - | FileCheck %s |
| |
| ; CHECK: @a |
| define i32 @a(<4 x i64> %I) { |
| entry: |
| ; CHECK-NOT: trunc <4 x i64> |
| %J = trunc <4 x i64> %I to <4 x i32> |
| %K = extractelement <4 x i32> %J, i32 3 |
| ; CHECK: extractelement <4 x i64> |
| ; CHECK: trunc i64 |
| ; CHECK: ret |
| ret i32 %K |
| } |
| |
| |
| ; CHECK: @b |
| define i32 @b(<4 x float> %I) { |
| entry: |
| ; CHECK-NOT: fptosi <4 x float> |
| %J = fptosi <4 x float> %I to <4 x i32> |
| %K = extractelement <4 x i32> %J, i32 3 |
| ; CHECK: extractelement <4 x float> |
| ; CHECK: fptosi float |
| ; CHECK: ret |
| ret i32 %K |
| } |
| |