[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / AArch64 / rotate.ll
blob5ac86d5f59c9d8a8c4a29267d84b5ae246457b09
1 ; RUN: llc < %s -mtriple=aarch64--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 ushr/shl.
5 define <2 x i64> @testcase(<2 x i64>* %in) {
6 ; CHECK-LABEL: testcase
7 ; CHECK: ushr {{v[0-9]+}}.2d
8 ; CHECK: shl  {{v[0-9]+}}.2d
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