68 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=ALL3 4define i8 @test() {5; ALL-LABEL: test:6; ALL: # %bb.0:7; ALL-NEXT: retq8 ret i8 undef9}10 11define i8 @add_undef_i8(i8 %a) {12; ALL-LABEL: add_undef_i8:13; ALL: # %bb.0:14; ALL-NEXT: movl %edi, %eax15; ALL-NEXT: addb %al, %al16; ALL-NEXT: # kill: def $al killed $al killed $eax17; ALL-NEXT: retq18 %r = add i8 %a, undef19 ret i8 %r20}21 22define i16 @add_undef_i16(i16 %a) {23; ALL-LABEL: add_undef_i16:24; ALL: # %bb.0:25; ALL-NEXT: movl %edi, %eax26; ALL-NEXT: addw %ax, %ax27; ALL-NEXT: # kill: def $ax killed $ax killed $eax28; ALL-NEXT: retq29 %r = add i16 %a, undef30 ret i16 %r31}32 33define i16 @add_undef_i16_commute(i16 %a) {34; ALL-LABEL: add_undef_i16_commute:35; ALL: # %bb.0:36; ALL-NEXT: addw %di, %ax37; ALL-NEXT: retq38 %r = add i16 undef, %a39 ret i16 %r40}41 42define i32 @add_undef_i32(i32 %a) {43; ALL-LABEL: add_undef_i32:44; ALL: # %bb.0:45; ALL-NEXT: movl %edi, %eax46; ALL-NEXT: addl %eax, %eax47; ALL-NEXT: retq48 %r = add i32 %a, undef49 ret i32 %r50}51 52define float @test3() {53; ALL-LABEL: test3:54; ALL: # %bb.0:55; ALL-NEXT: retq56 ret float undef57}58 59define float @test4(float %a) {60; ALL-LABEL: test4:61; ALL: # %bb.0:62; ALL-NEXT: addss %xmm0, %xmm063; ALL-NEXT: retq64 %r = fadd float %a, undef65 ret float %r66}67 68