| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: opt < %s -passes=instcombine -S | FileCheck %s | |
| target datalayout = "i16:16:16-i32:32:32-i64:64:64-n16:32:64" | |
| define i32 @test(i64 %i) { | |
| ; CHECK-LABEL: define i32 @test( | |
| ; CHECK-SAME: i64 [[I:%.*]]) { | |
| ; CHECK-NEXT: [[A:%.*]] = trunc i64 [[I]] to i16 | |
| ; CHECK-NEXT: [[B:%.*]] = sext i16 [[A]] to i32 | |
| ; CHECK-NEXT: ret i32 [[B]] | |
| ; | |
| %a = trunc i64 %i to i16 | |
| %b = sext i16 %a to i32 | |
| ret i32 %b | |
| } |