blob: c6a7867fe9dbc9823c5933d6b6c916d79e6c696a [file] [log] [blame]
Sanjay Patel3a3aaf62016-10-19 16:58:59 +00001; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck %s
Sanjay Patel928f3d72016-10-14 20:51:41 +00002
3; PR30661 - https://llvm.org/bugs/show_bug.cgi?id=30661
4
5define i32 @select_i32_neg1_or_0(i1 %a) {
6; CHECK-LABEL: select_i32_neg1_or_0:
Sanjay Patel3a3aaf62016-10-19 16:58:59 +00007; CHECK: # BB#0:
8; CHECK-NEXT: clrldi 3, 3, 63
9; CHECK-NEXT: neg 3, 3
Sanjay Patel928f3d72016-10-14 20:51:41 +000010; CHECK-NEXT: blr
11;
12 %b = sext i1 %a to i32
13 ret i32 %b
14}
15
16define i32 @select_i32_neg1_or_0_zeroext(i1 zeroext %a) {
17; CHECK-LABEL: select_i32_neg1_or_0_zeroext:
Sanjay Patel3a3aaf62016-10-19 16:58:59 +000018; CHECK: # BB#0:
19; CHECK-NEXT: neg 3, 3
Sanjay Patel928f3d72016-10-14 20:51:41 +000020; CHECK-NEXT: blr
21;
22 %b = sext i1 %a to i32
23 ret i32 %b
24}
25