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 %s3 4define i8 @const_i8() {5; CHECK-LABEL: const_i8:6; CHECK: # %bb.0:7; CHECK-NEXT: movb $2, %al8; CHECK-NEXT: retq9 ret i8 210}11 12define i16 @const_i16() {13; CHECK-LABEL: const_i16:14; CHECK: # %bb.0:15; CHECK-NEXT: movw $3, %ax16; CHECK-NEXT: retq17 ret i16 318}19 20define i32 @const_i32() {21; CHECK-LABEL: const_i32:22; CHECK: # %bb.0:23; CHECK-NEXT: movl $4, %eax24; CHECK-NEXT: retq25 ret i32 426}27 28define i64 @const_i64() {29; CHECK-LABEL: const_i64:30; CHECK: # %bb.0:31; CHECK-NEXT: movabsq $68719476720, %rax # imm = 0xFFFFFFFF032; CHECK-NEXT: retq33 ret i64 6871947672034}35 36;i64 value fit into u3237define i64 @const_i64_u32() {38; CHECK-LABEL: const_i64_u32:39; CHECK: # %bb.0:40; CHECK-NEXT: movl $1879048192, %eax # imm = 0x7000000041; CHECK-NEXT: retq42 ret i64 187904819243}44 45;i64 value fit into i3246define i64 @const_i64_i32() {47; CHECK-LABEL: const_i64_i32:48; CHECK: # %bb.0:49; CHECK-NEXT: movq $-1, %rax50; CHECK-NEXT: retq51 ret i64 -152}53 54define void @main(ptr %data) {55; CHECK-LABEL: main:56; CHECK: # %bb.0:57; CHECK-NEXT: movq $0, %rax58; CHECK-NEXT: movq %rax, (%rdi)59; CHECK-NEXT: retq60 store ptr null, ptr %data, align 861 ret void62}63 64