64 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-linux-gnu -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=CHECK3 4define i1 @trunc_i32toi1(i32 %a) {5; CHECK-LABEL: trunc_i32toi1:6; CHECK: # %bb.0:7; CHECK-NEXT: movl %edi, %eax8; CHECK-NEXT: # kill: def $al killed $al killed $eax9; CHECK-NEXT: retq10 %r = trunc i32 %a to i111 ret i1 %r12}13 14define i8 @trunc_i32toi8(i32 %a) {15; CHECK-LABEL: trunc_i32toi8:16; CHECK: # %bb.0:17; CHECK-NEXT: movl %edi, %eax18; CHECK-NEXT: # kill: def $al killed $al killed $eax19; CHECK-NEXT: retq20 %r = trunc i32 %a to i821 ret i8 %r22}23 24define i16 @trunc_i32toi16(i32 %a) {25; CHECK-LABEL: trunc_i32toi16:26; CHECK: # %bb.0:27; CHECK-NEXT: movl %edi, %eax28; CHECK-NEXT: # kill: def $ax killed $ax killed $eax29; CHECK-NEXT: retq30 %r = trunc i32 %a to i1631 ret i16 %r32}33 34define i8 @trunc_i64toi8(i64 %a) {35; CHECK-LABEL: trunc_i64toi8:36; CHECK: # %bb.0:37; CHECK-NEXT: movq %rdi, %rax38; CHECK-NEXT: # kill: def $al killed $al killed $rax39; CHECK-NEXT: retq40 %r = trunc i64 %a to i841 ret i8 %r42}43 44define i16 @trunc_i64toi16(i64 %a) {45; CHECK-LABEL: trunc_i64toi16:46; CHECK: # %bb.0:47; CHECK-NEXT: movq %rdi, %rax48; CHECK-NEXT: # kill: def $ax killed $ax killed $rax49; CHECK-NEXT: retq50 %r = trunc i64 %a to i1651 ret i16 %r52}53 54define i32 @trunc_i64toi32(i64 %a) {55; CHECK-LABEL: trunc_i64toi32:56; CHECK: # %bb.0:57; CHECK-NEXT: movq %rdi, %rax58; CHECK-NEXT: # kill: def $eax killed $eax killed $rax59; CHECK-NEXT: retq60 %r = trunc i64 %a to i3261 ret i32 %r62}63 64