44 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=arm-darwin -mattr=v6 | FileCheck %s --check-prefixes=CHECK3; RUN: llc < %s -mtriple=thumb-darwin -mattr=v6 | FileCheck %s --check-prefixes=CHECK4 5define void @test1(ptr nocapture %data) {6; CHECK-LABEL: test1:7; CHECK: @ %bb.0: @ %entry8; CHECK-NEXT: ldrh r1, [r0]9; CHECK-NEXT: rev16 r1, r110; CHECK-NEXT: strh r1, [r0]11; CHECK-NEXT: bx lr12entry:13 %0 = load i16, ptr %data, align 214 %1 = tail call i16 @llvm.bswap.i16(i16 %0)15 store i16 %1, ptr %data, align 216 ret void17}18 19define void @test2(ptr nocapture %data, i16 zeroext %in) {20; CHECK-LABEL: test2:21; CHECK: @ %bb.0: @ %entry22; CHECK-NEXT: rev16 r1, r123; CHECK-NEXT: strh r1, [r0]24; CHECK-NEXT: bx lr25entry:26 %0 = tail call i16 @llvm.bswap.i16(i16 %in)27 store i16 %0, ptr %data, align 228 ret void29}30 31define i16 @test3(ptr nocapture %data) {32; CHECK-LABEL: test3:33; CHECK: @ %bb.0: @ %entry34; CHECK-NEXT: ldrh r0, [r0]35; CHECK-NEXT: rev16 r0, r036; CHECK-NEXT: bx lr37entry:38 %0 = load i16, ptr %data, align 239 %1 = tail call i16 @llvm.bswap.i16(i16 %0)40 ret i16 %141}42 43declare i16 @llvm.bswap.i16(i16)44