25 lines
820 B
LLVM
25 lines
820 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt -S -passes=slp-vectorizer -mtriple=x86_64-unknown-linux -mattr="-avx512pf,+avx512f,+avx512bw" -slp-threshold=-100 < %s | FileCheck %s
|
|
|
|
define i1 @foo(i32 %a) {
|
|
; CHECK-LABEL: @foo(
|
|
; CHECK-NEXT: entry:
|
|
; CHECK-NEXT: [[TMP0:%.*]] = sub nsw i32 0, [[A:%.*]]
|
|
; CHECK-NEXT: br label [[BB4:%.*]]
|
|
; CHECK: bb1:
|
|
; CHECK-NEXT: [[LOCAL:%.*]] = sub nsw i32 0, 0
|
|
; CHECK-NEXT: [[INS1:%.*]] = insertelement <2 x i32> poison, i32 [[TMP0]], i32 0
|
|
; CHECK-NEXT: [[ADD:%.*]] = icmp eq i32 [[TMP0]], [[LOCAL]]
|
|
; CHECK-NEXT: ret i1 [[ADD]]
|
|
;
|
|
entry:
|
|
%0 = sub nsw i32 0, %a
|
|
br label %bb1
|
|
|
|
bb1:
|
|
%local = sub nsw i32 0, 0
|
|
%ins1 = insertelement <2 x i32> poison, i32 %0, i32 0
|
|
%add = icmp eq i32 %0, %local
|
|
ret i1 %add
|
|
}
|