brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 02e20a9 Raw
71 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s3 4define i8 @sdiv_neg_neg_high_bits(i8 %x, i8 %y) {5; CHECK-LABEL: sdiv_neg_neg_high_bits:6; CHECK:       # %bb.0:7; CHECK-NEXT:    xorl %eax, %eax8; CHECK-NEXT:    retq9  %num = or i8 %x, 12810  %denum = or i8 %y, 13111  %div = sdiv i8 %num, %denum12  %r = and i8 %div, 12813  ret i8 %r14}15 16define i8 @sdiv_exact_odd_odd(i8 %x, i8 %y) {17; CHECK-LABEL: sdiv_exact_odd_odd:18; CHECK:       # %bb.0:19; CHECK-NEXT:    movb $1, %al20; CHECK-NEXT:    retq21  %num = or i8 %x, 122  %denum = or i8 %y, 123  %div = sdiv exact i8 %num, %denum24  %r = and i8 %div, 125  ret i8 %r26}27 28define i8 @sdiv_exact_even_even_fail_unknown(i8 %x, i8 %y) {29; CHECK-LABEL: sdiv_exact_even_even_fail_unknown:30; CHECK:       # %bb.0:31; CHECK-NEXT:    andb $-2, %dil32; CHECK-NEXT:    andb $-2, %sil33; CHECK-NEXT:    movsbl %dil, %eax34; CHECK-NEXT:    idivb %sil35; CHECK-NEXT:    andb $1, %al36; CHECK-NEXT:    retq37  %num = and i8 %x, -238  %denum = and i8 %y, -239  %div = sdiv exact i8 %num, %denum40  %r = and i8 %div, 141  ret i8 %r42}43 44define i8 @udiv_exact_even_odd(i8 %x, i8 %y) {45; CHECK-LABEL: udiv_exact_even_odd:46; CHECK:       # %bb.0:47; CHECK-NEXT:    xorl %eax, %eax48; CHECK-NEXT:    retq49  %num = and i8 %x, -250  %denum = or i8 %y, 151  %div = udiv exact i8 %num, %denum52  %r = and i8 %div, 153  ret i8 %r54}55 56define i8 @udiv_exact_even_even_fail_unknown(i8 %x, i8 %y) {57; CHECK-LABEL: udiv_exact_even_even_fail_unknown:58; CHECK:       # %bb.0:59; CHECK-NEXT:    andb $-2, %dil60; CHECK-NEXT:    andb $-2, %sil61; CHECK-NEXT:    movzbl %dil, %eax62; CHECK-NEXT:    divb %sil63; CHECK-NEXT:    andb $1, %al64; CHECK-NEXT:    retq65  %num = and i8 %x, -266  %denum = and i8 %y, -267  %div = udiv exact i8 %num, %denum68  %r = and i8 %div, 169  ret i8 %r70}71