brintos

brintos / llvm-project-archived public Read only

0
0
Text · 919 B · b7cc53f Raw
28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=-bmi < %s | FileCheck %s --check-prefix=CHECK-NOBMI3; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+bmi < %s | FileCheck %s --check-prefix=CHECK-BMI4 5; Optimize (x > -1) to (x >= 0) etc.6; Optimize (cmp (add / sub), 0): eliminate the subs used to update flag7;   for comparison only8; rdar://102334729 10define i32 @t1(i64 %a) {11; CHECK-NOBMI-LABEL: t1:12; CHECK-NOBMI:       # %bb.0:13; CHECK-NOBMI-NEXT:    xorl %eax, %eax14; CHECK-NOBMI-NEXT:    testq %rdi, %rdi15; CHECK-NOBMI-NEXT:    setns %al16; CHECK-NOBMI-NEXT:    retq17;18; CHECK-BMI-LABEL: t1:19; CHECK-BMI:       # %bb.0:20; CHECK-BMI-NEXT:    xorl %eax, %eax21; CHECK-BMI-NEXT:    testq %rdi, %rdi22; CHECK-BMI-NEXT:    setns %al23; CHECK-BMI-NEXT:    retq24  %cmp = icmp sgt i64 %a, -125  %conv = zext i1 %cmp to i3226  ret i32 %conv27}28