• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=arm-eabi -arm-atomic-cfg-tidy=0 -mattr=+v6,+vfp2 %s -o - | FileCheck %s
2
3@i = weak global i32 0		; <i32*> [#uses=2]
4@u = weak global i32 0		; <i32*> [#uses=2]
5
6define i32 @foo1(float *%x) {
7        %tmp1 = load float, float* %x
8	%tmp2 = bitcast float %tmp1 to i32
9	ret i32 %tmp2
10}
11
12define i64 @foo2(double *%x) {
13        %tmp1 = load double, double* %x
14	%tmp2 = bitcast double %tmp1 to i64
15	ret i64 %tmp2
16}
17
18define void @foo5(float %x) {
19	%tmp1 = fptosi float %x to i32
20	store i32 %tmp1, i32* @i
21	ret void
22}
23
24define void @foo6(float %x) {
25	%tmp1 = fptoui float %x to i32
26	store i32 %tmp1, i32* @u
27	ret void
28}
29
30define void @foo7(double %x) {
31	%tmp1 = fptosi double %x to i32
32	store i32 %tmp1, i32* @i
33	ret void
34}
35
36define void @foo8(double %x) {
37	%tmp1 = fptoui double %x to i32
38	store i32 %tmp1, i32* @u
39	ret void
40}
41
42define void @foo9(double %x) {
43	%tmp = fptoui double %x to i16
44	store i16 %tmp, i16* null
45	ret void
46}
47; CHECK-LABEL: foo9:
48; CHECK: 	vmov	r0, s0
49
50