diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-06-26 16:01:24 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-06-26 16:01:24 +0000 |
commit | 0f44759b0d35b0b9927198e9ee9150c8eaea0efb (patch) | |
tree | b0c85870b241313fc7cf7aeb1d00d03e9d509232 /llvm | |
parent | 25becb35e922019109650d7e6e235df5c5f030ba (diff) | |
download | bcm5719-llvm-0f44759b0d35b0b9927198e9ee9150c8eaea0efb.tar.gz bcm5719-llvm-0f44759b0d35b0b9927198e9ee9150c8eaea0efb.zip |
[InstCombine] add tests for urem with sext bool divisor; NFC
llvm-svn: 335619
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/test/Transforms/InstCombine/rem.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/rem.ll b/llvm/test/Transforms/InstCombine/rem.ll index 17bb9ab33d9..4f2f31929bb 100644 --- a/llvm/test/Transforms/InstCombine/rem.ll +++ b/llvm/test/Transforms/InstCombine/rem.ll @@ -58,6 +58,28 @@ define i5 @biggest_divisor(i5 %x) { ret i5 %rem } +define i8 @urem_with_sext_bool_divisor(i1 %x, i8 %y) { +; CHECK-LABEL: @urem_with_sext_bool_divisor( +; CHECK-NEXT: [[S:%.*]] = sext i1 [[X:%.*]] to i8 +; CHECK-NEXT: [[REM:%.*]] = urem i8 [[Y:%.*]], [[S]] +; CHECK-NEXT: ret i8 [[REM]] +; + %s = sext i1 %x to i8 + %rem = urem i8 %y, %s + ret i8 %rem +} + +define <2 x i8> @urem_with_sext_bool_divisor_vec(<2 x i1> %x, <2 x i8> %y) { +; CHECK-LABEL: @urem_with_sext_bool_divisor_vec( +; CHECK-NEXT: [[S:%.*]] = sext <2 x i1> [[X:%.*]] to <2 x i8> +; CHECK-NEXT: [[REM:%.*]] = urem <2 x i8> [[Y:%.*]], [[S]] +; CHECK-NEXT: ret <2 x i8> [[REM]] +; + %s = sext <2 x i1> %x to <2 x i8> + %rem = urem <2 x i8> %y, %s + ret <2 x i8> %rem +} + define <2 x i4> @big_divisor_vec(<2 x i4> %x) { ; CHECK-LABEL: @big_divisor_vec( ; CHECK-NEXT: [[TMP1:%.*]] = icmp ult <2 x i4> [[X:%.*]], <i4 -3, i4 -3> |