AArch64: fix vector-immediate BIC/ORR on big-endian devices.
[oota-llvm.git] / test / CodeGen / AArch64 / fast-isel-mul.ll
1 ; RUN: llc -fast-isel -fast-isel-abort -verify-machineinstrs -mtriple=aarch64 < %s | FileCheck %s
2
3 @var8 = global i8 0
4 @var16 = global i16 0
5 @var32 = global i32 0
6 @var64 = global i64 0
7
8 define void @test_mul8(i8 %lhs, i8 %rhs) {
9 ; CHECK-LABEL: test_mul8:
10 ; CHECK: mul {{w[0-9]+}}, w0, w1
11 ;  %lhs = load i8* @var8
12 ;  %rhs = load i8* @var8
13   %prod = mul i8 %lhs, %rhs
14   store i8 %prod, i8* @var8
15   ret void
16 }
17
18 define void @test_mul16(i16 %lhs, i16 %rhs) {
19 ; CHECK-LABEL: test_mul16:
20 ; CHECK: mul {{w[0-9]+}}, w0, w1
21   %prod = mul i16 %lhs, %rhs
22   store i16 %prod, i16* @var16
23   ret void
24 }
25
26 define void @test_mul32(i32 %lhs, i32 %rhs) {
27 ; CHECK-LABEL: test_mul32:
28 ; CHECK: mul {{w[0-9]+}}, w0, w1
29   %prod = mul i32 %lhs, %rhs
30   store i32 %prod, i32* @var32
31   ret void
32 }
33
34 define void @test_mul64(i64 %lhs, i64 %rhs) {
35 ; CHECK-LABEL: test_mul64:
36 ; CHECK: mul {{x[0-9]+}}, x0, x1
37   %prod = mul i64 %lhs, %rhs
38   store i64 %prod, i64* @var64
39   ret void
40 }