brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 9cdcdf1 Raw
22 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu < %s -slp-threshold=-100 | FileCheck %s3define i1 @foo(i1 %v) {            ; assume %v is 14; CHECK-LABEL: define i1 @foo(5; CHECK-SAME: i1 [[V:%.*]]) {6; CHECK-NEXT:  [[ENTRY:.*:]]7; CHECK-NEXT:    [[TMP0:%.*]] = insertelement <2 x i1> poison, i1 [[V]], i32 08; CHECK-NEXT:    [[TMP1:%.*]] = shufflevector <2 x i1> [[TMP0]], <2 x i1> poison, <2 x i32> zeroinitializer9; CHECK-NEXT:    [[TMP2:%.*]] = xor <2 x i1> zeroinitializer, [[TMP1]]10; CHECK-NEXT:    [[TMP3:%.*]] = extractelement <2 x i1> [[TMP2]], i32 011; CHECK-NEXT:    [[TMP4:%.*]] = extractelement <2 x i1> [[TMP2]], i32 112; CHECK-NEXT:    [[SUB:%.*]] = sub i1 [[TMP3]], [[TMP4]]13; CHECK-NEXT:    ret i1 [[SUB]]14;15entry:16  %not = xor i1 %v, 1              ; 017  %not1 = xor i1 %not, 1           ; 118  %mul = mul i1 %v, 1              ; 119  %sub = sub i1 %not1, %mul        ; 020  ret i1 %sub                      ; 021}22