69 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefixes=X863; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefixes=X644 5define i32 @test_addcarry_32_x_0_false(i32 %a0) {6; X86-LABEL: test_addcarry_32_x_0_false:7; X86: # %bb.0:8; X86-NEXT: movl {{[0-9]+}}(%esp), %eax9; X86-NEXT: retl10;11; X64-LABEL: test_addcarry_32_x_0_false:12; X64: # %bb.0:13; X64-NEXT: movl %edi, %eax14; X64-NEXT: retq15 %1 = tail call { i8, i32 } @llvm.x86.addcarry.32(i8 0, i32 %a0, i32 0)16 %2 = extractvalue { i8, i32 } %1, 117 ret i32 %218}19 20define i32 @test_addcarry_32_0_x_false(i32 %a0) {21; X86-LABEL: test_addcarry_32_0_x_false:22; X86: # %bb.0:23; X86-NEXT: movl {{[0-9]+}}(%esp), %eax24; X86-NEXT: retl25;26; X64-LABEL: test_addcarry_32_0_x_false:27; X64: # %bb.0:28; X64-NEXT: movl %edi, %eax29; X64-NEXT: retq30 %1 = tail call { i8, i32 } @llvm.x86.addcarry.32(i8 0, i32 0, i32 %a0)31 %2 = extractvalue { i8, i32 } %1, 132 ret i32 %233}34 35define i32 @test_subborrow_32_x_0_false(i32 %a0) {36; X86-LABEL: test_subborrow_32_x_0_false:37; X86: # %bb.0:38; X86-NEXT: movl {{[0-9]+}}(%esp), %eax39; X86-NEXT: retl40;41; X64-LABEL: test_subborrow_32_x_0_false:42; X64: # %bb.0:43; X64-NEXT: movl %edi, %eax44; X64-NEXT: retq45 %1 = tail call { i8, i32 } @llvm.x86.subborrow.32(i8 0, i32 %a0, i32 0)46 %2 = extractvalue { i8, i32 } %1, 147 ret i32 %248}49 50define i32 @test_subborrow_32_0_x_false(i32 %a0) {51; X86-LABEL: test_subborrow_32_0_x_false:52; X86: # %bb.0:53; X86-NEXT: xorl %eax, %eax54; X86-NEXT: subl {{[0-9]+}}(%esp), %eax55; X86-NEXT: retl56;57; X64-LABEL: test_subborrow_32_0_x_false:58; X64: # %bb.0:59; X64-NEXT: movl %edi, %eax60; X64-NEXT: negl %eax61; X64-NEXT: retq62 %1 = tail call { i8, i32 } @llvm.x86.subborrow.32(i8 0, i32 0, i32 %a0)63 %2 = extractvalue { i8, i32 } %1, 164 ret i32 %265}66 67declare { i8, i32 } @llvm.x86.addcarry.32(i8, i32, i32)68declare { i8, i32 } @llvm.x86.subborrow.32(i8, i32, i32)69