[llvm] r347618 - [InstCombine] add tests for rotate/bswap equality; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 26 16:08:21 PST 2018


Author: spatel
Date: Mon Nov 26 16:08:21 2018
New Revision: 347618

URL: http://llvm.org/viewvc/llvm-project?rev=347618&view=rev
Log:
[InstCombine] add tests for rotate/bswap equality; NFC

Modified:
    llvm/trunk/test/Transforms/InstCombine/fsh.ll

Modified: llvm/trunk/test/Transforms/InstCombine/fsh.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/fsh.ll?rev=347618&r1=347617&r2=347618&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/fsh.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/fsh.ll Mon Nov 26 16:08:21 2018
@@ -405,3 +405,26 @@ define i33 @expanded_fshr_multi_use(i33
   ret i33 %e
 }
 
+declare i16 @llvm.fshl.i16(i16, i16, i16)
+declare i16 @llvm.fshr.i16(i16, i16, i16)
+
+; Special-case: rotate a 16-bit value left/right by 8-bits is bswap.
+
+define i16 @fshl_bswap(i16 %x) {
+; CHECK-LABEL: @fshl_bswap(
+; CHECK-NEXT:    [[R:%.*]] = call i16 @llvm.fshl.i16(i16 [[X:%.*]], i16 [[X]], i16 8)
+; CHECK-NEXT:    ret i16 [[R]]
+;
+  %r = call i16 @llvm.fshl.i16(i16 %x, i16 %x, i16 8)
+  ret i16 %r
+}
+
+define i16 @fshr_bswap(i16 %x) {
+; CHECK-LABEL: @fshr_bswap(
+; CHECK-NEXT:    [[R:%.*]] = call i16 @llvm.fshr.i16(i16 [[X:%.*]], i16 [[X]], i16 8)
+; CHECK-NEXT:    ret i16 [[R]]
+;
+  %r = call i16 @llvm.fshr.i16(i16 %x, i16 %x, i16 8)
+  ret i16 %r
+}
+




More information about the llvm-commits mailing list