85 lines · plain
1; RUN: llc -verify-machineinstrs -o - %s -mtriple=arm64-apple-ios7.0 | FileCheck %s2 3@var32 = global i32 04@var64 = global i64 05 6define void @test_and(i32 %in32, i64 %in64) {7; CHECK-LABEL: test_and:8 9 %val0 = and i32 %in32, 286331153010 store volatile i32 %val0, ptr @var3211; CHECK: and {{w[0-9]+}}, {{w[0-9]+}}, #0xaaaaaaaa12 13 %val1 = and i32 %in32, 429398424014 store volatile i32 %val1, ptr @var3215; CHECK: and {{w[0-9]+}}, {{w[0-9]+}}, #0xfff0fff016 17 %val2 = and i64 %in64, 933188229611189081718 store volatile i64 %val2, ptr @var6419; CHECK: and {{x[0-9]+}}, {{x[0-9]+}}, #0x818181818181818120 21 %val3 = and i64 %in64, 1842985531740494227522 store volatile i64 %val3, ptr @var6423; CHECK: and {{x[0-9]+}}, {{x[0-9]+}}, #0xffc3ffc3ffc3ffc324 25 ret void26}27 28define void @test_orr(i32 %in32, i64 %in64) {29; CHECK-LABEL: test_orr:30 31 %val0 = or i32 %in32, 286331153032 store volatile i32 %val0, ptr @var3233; CHECK: orr {{w[0-9]+}}, {{w[0-9]+}}, #0xaaaaaaaa34 35 %val1 = or i32 %in32, 429398424036 store volatile i32 %val1, ptr @var3237; CHECK: orr {{w[0-9]+}}, {{w[0-9]+}}, #0xfff0fff038 39 %val2 = or i64 %in64, 933188229611189081740 store volatile i64 %val2, ptr @var6441; CHECK: orr {{x[0-9]+}}, {{x[0-9]+}}, #0x818181818181818142 43 %val3 = or i64 %in64, 1842985531740494227544 store volatile i64 %val3, ptr @var6445; CHECK: orr {{x[0-9]+}}, {{x[0-9]+}}, #0xffc3ffc3ffc3ffc346 47 ret void48}49 50define void @test_eor(i32 %in32, i64 %in64) {51; CHECK-LABEL: test_eor:52 53 %val0 = xor i32 %in32, 286331153054 store volatile i32 %val0, ptr @var3255; CHECK: eor {{w[0-9]+}}, {{w[0-9]+}}, #0xaaaaaaaa56 57 %val1 = xor i32 %in32, 429398424058 store volatile i32 %val1, ptr @var3259; CHECK: eor {{w[0-9]+}}, {{w[0-9]+}}, #0xfff0fff060 61 %val2 = xor i64 %in64, 933188229611189081762 store volatile i64 %val2, ptr @var6463; CHECK: eor {{x[0-9]+}}, {{x[0-9]+}}, #0x818181818181818164 65 %val3 = xor i64 %in64, 1842985531740494227566 store volatile i64 %val3, ptr @var6467; CHECK: eor {{x[0-9]+}}, {{x[0-9]+}}, #0xffc3ffc3ffc3ffc368 69 ret void70}71 72define void @test_mov(i32 %in32, i64 %in64) {73; CHECK-LABEL: test_mov:74 %val0 = add i32 %in32, 286331153075 store i32 %val0, ptr @var3276; CHECK: mov {{w[0-9]+}}, #-143165576677 78 %val1 = add i64 %in64, 1106804644422573096979 store i64 %val1, ptr @var6480; CHECK: mov {{x[0-9]+}}, #-737869762948382064781 82 ret void83; CHECK: ret84}85