Ulrich Weigand | 59a01a9 | 2017-09-19 20:50:05 +0000 | [diff] [blame] | 1 | ; Verify that truncating stores do not use STRV |
2 | ; | ||||
3 | ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s | ||||
4 | |||||
5 | declare i64 @llvm.bswap.i64(i64) | ||||
6 | |||||
7 | define void @f1(i32* %x, i64* %y) { | ||||
8 | ; CHECK-LABEL: f1: | ||||
9 | ; CHECK-NOT: strv | ||||
10 | ; CHECK: br %r14 | ||||
11 | %a = load i64, i64* %y, align 8 | ||||
12 | %b = tail call i64 @llvm.bswap.i64(i64 %a) | ||||
13 | %conv = trunc i64 %b to i32 | ||||
14 | store i32 %conv, i32* %x, align 4 | ||||
15 | ret void | ||||
16 | } | ||||
17 |