[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / CodeGen / ARM / rotate.ll
blobf3f7de2160fb94fa0153d3711c9397fa0fa9dc57
1 ; RUN: llc < %s -mtriple=thumbv8--linux-gnueabihf | FileCheck %s
3 ;; This used to cause a backend crash about not being able to
4 ;; select ROTL. Make sure if generates the basic VSHL/VSHR.
5 define <2 x i64> @testcase(<2 x i64>* %in) {
6 ; CHECK-LABEL: testcase
7 ; CHECK: vshl.i64
8 ; CHECK: vshr.u64
9   %1 = load <2 x i64>, <2 x i64>* %in
10   %2 = lshr <2 x i64> %1, <i64 8, i64 8>
11   %3 = shl <2 x i64> %1, <i64 56, i64 56>
12   %4 = or <2 x i64> %2, %3
13   ret <2 x i64> %4