66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown-linux-gnu | FileCheck %s --check-prefixes=X863 4define { i64, i8 } @mulodi_test(i64 %l, i64 %r) unnamed_addr #0 {5; X86-LABEL: mulodi_test:6; X86: # %bb.0: # %start7; X86-NEXT: pushl %ebp8; X86-NEXT: .cfi_def_cfa_offset 89; X86-NEXT: pushl %ebx10; X86-NEXT: .cfi_def_cfa_offset 1211; X86-NEXT: pushl %edi12; X86-NEXT: .cfi_def_cfa_offset 1613; X86-NEXT: pushl %esi14; X86-NEXT: .cfi_def_cfa_offset 2015; X86-NEXT: .cfi_offset %esi, -2016; X86-NEXT: .cfi_offset %edi, -1617; X86-NEXT: .cfi_offset %ebx, -1218; X86-NEXT: .cfi_offset %ebp, -819; X86-NEXT: movl {{[0-9]+}}(%esp), %ebp20; X86-NEXT: movl {{[0-9]+}}(%esp), %eax21; X86-NEXT: movl {{[0-9]+}}(%esp), %esi22; X86-NEXT: testl %esi, %esi23; X86-NEXT: setne %dl24; X86-NEXT: testl %eax, %eax25; X86-NEXT: setne %cl26; X86-NEXT: andb %dl, %cl27; X86-NEXT: mull {{[0-9]+}}(%esp)28; X86-NEXT: movl %eax, %edi29; X86-NEXT: seto %bl30; X86-NEXT: movl %esi, %eax31; X86-NEXT: mull %ebp32; X86-NEXT: seto %ch33; X86-NEXT: orb %bl, %ch34; X86-NEXT: orb %cl, %ch35; X86-NEXT: leal (%edi,%eax), %esi36; X86-NEXT: movl %ebp, %eax37; X86-NEXT: mull {{[0-9]+}}(%esp)38; X86-NEXT: addl %esi, %edx39; X86-NEXT: setb %cl40; X86-NEXT: orb %ch, %cl41; X86-NEXT: popl %esi42; X86-NEXT: .cfi_def_cfa_offset 1643; X86-NEXT: popl %edi44; X86-NEXT: .cfi_def_cfa_offset 1245; X86-NEXT: popl %ebx46; X86-NEXT: .cfi_def_cfa_offset 847; X86-NEXT: popl %ebp48; X86-NEXT: .cfi_def_cfa_offset 449; X86-NEXT: retl50start:51 %0 = tail call { i64, i1 } @llvm.umul.with.overflow.i64(i64 %l, i64 %r) #252 %1 = extractvalue { i64, i1 } %0, 053 %2 = extractvalue { i64, i1 } %0, 154 %3 = zext i1 %2 to i855 %4 = insertvalue { i64, i8 } undef, i64 %1, 056 %5 = insertvalue { i64, i8 } %4, i8 %3, 157 ret { i64, i8 } %558}59 60; Function Attrs: nounwind readnone speculatable61declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64) #162 63attributes #0 = { nounwind readnone uwtable }64attributes #1 = { nounwind readnone speculatable }65attributes #2 = { nounwind }66