brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 132683c Raw
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