Lines Matching +full:gcc +full:- +full:48
1 ; RUN: llc -march=mips -relocation-model=static -mattr=+soft-float < %s | FileCheck --check-prefixe…
2 ; RUN: llc -march=mipsel -relocation-model=static -mattr=+soft-float < %s | FileCheck --check-prefi…
4 ; RUN-TODO: llc -march=mips64 -relocation-model=static -mattr=+soft-float -target-abi o32 < %s | Fi…
5 ; RUN-TODO: llc -march=mips64el -relocation-model=static -mattr=+soft-float -target-abi o32 < %s | …
7 ; RUN: llc -march=mips64 -relocation-model=static -mattr=+soft-float -target-abi n32 < %s | FileChe…
8 ; RUN: llc -march=mips64el -relocation-model=static -mattr=+soft-float -target-abi n32 < %s | FileC…
10 ; RUN: llc -march=mips64 -relocation-model=static -mattr=+soft-float -target-abi n64 < %s | FileChe…
11 ; RUN: llc -march=mips64el -relocation-model=static -mattr=+soft-float -target-abi n64 < %s | FileC…
48 ; ALL-LABEL: double_args:
51 ; SYM32-DAG: addiu [[R2:\$[0-9]+]], ${{[0-9]+}}, %lo(doubles)
52 ; SYM64-DAG: ld [[R2:\$[0-9]]], %got_disp(doubles)(
55 ; The first argument is floating point but soft-float is enabled so floating
57 ; O32-DAG: sw $4, 8([[R2]])
58 ; O32-DAG: sw $5, 12([[R2]])
59 ; NEW-DAG: sd $4, 8([[R2]])
61 ; O32-DAG: sw $6, 16([[R2]])
62 ; O32-DAG: sw $7, 20([[R2]])
63 ; NEW-DAG: sd $5, 16([[R2]])
66 ; O32-DAG: lw [[R3:\$([0-9]+|gp)]], 24($sp)
67 ; O32-DAG: lw [[R4:\$([0-9]+|gp)]], 28($sp)
68 ; O32-DAG: sw [[R3]], 24([[R2]])
69 ; O32-DAG: sw [[R4]], 28([[R2]])
70 ; NEW-DAG: sd $6, 24([[R2]])
72 ; O32-DAG: lw [[R3:\$([0-9]+|gp)]], 32($sp)
73 ; O32-DAG: lw [[R4:\$([0-9]+|gp)]], 36($sp)
74 ; O32-DAG: sw [[R3]], 32([[R2]])
75 ; O32-DAG: sw [[R4]], 36([[R2]])
76 ; NEW-DAG: sd $7, 32([[R2]])
78 ; O32-DAG: lw [[R3:\$([0-9]+|gp)]], 40($sp)
79 ; O32-DAG: lw [[R4:\$([0-9]+|gp)]], 44($sp)
80 ; O32-DAG: sw [[R3]], 40([[R2]])
81 ; O32-DAG: sw [[R4]], 44([[R2]])
82 ; NEW-DAG: sd $8, 40([[R2]])
84 ; O32-DAG: lw [[R3:\$([0-9]+|gp)]], 48($sp)
85 ; O32-DAG: lw [[R4:\$([0-9]+|gp)]], 52($sp)
86 ; O32-DAG: sw [[R3]], 48([[R2]])
87 ; O32-DAG: sw [[R4]], 52([[R2]])
88 ; NEW-DAG: sd $9, 48([[R2]])
90 ; O32-DAG: lw [[R3:\$([0-9]+|gp)]], 56($sp)
91 ; O32-DAG: lw [[R4:\$([0-9]+|gp)]], 60($sp)
92 ; O32-DAG: sw [[R3]], 56([[R2]])
93 ; O32-DAG: sw [[R4]], 60([[R2]])
94 ; NEW-DAG: sd $10, 56([[R2]])
97 ; O32-DAG: lw [[R3:\$[0-9]+]], 64($sp)
98 ; O32-DAG: lw [[R4:\$[0-9]+]], 68($sp)
99 ; O32-DAG: sw [[R3]], 64([[R2]])
100 ; O32-DAG: sw [[R4]], 68([[R2]])
101 ; NEW-DAG: ld [[R3:\$[0-9]+]], 0($sp)
102 ; NEW-DAG: sd $11, 64([[R2]])
131 ; ALL-LABEL: float_args:
134 ; SYM32-DAG: addiu [[R2:\$[0-9]+]], ${{[0-9]+}}, %lo(floats)
135 ; SYM64-DAG: ld [[R2:\$[0-9]]], %got_disp(floats)(
138 ; The first argument is floating point but soft-float is enabled so floating
140 ; MD00305 and GCC disagree on this one. MD00305 says that floats are treated
141 ; as 8-byte aligned and occupy two slots on O32. GCC is treating them as 4-byte
142 ; aligned and occupying one slot. We'll use GCC's definition.
143 ; ALL-DAG: sw $4, 4([[R2]])
144 ; ALL-DAG: sw $5, 8([[R2]])
145 ; ALL-DAG: sw $6, 12([[R2]])
146 ; ALL-DAG: sw $7, 16([[R2]])
149 ; O32-DAG: lw [[R3:\$[0-9]+]], 16($sp)
150 ; O32-DAG: sw [[R3]], 20([[R2]])
151 ; NEW-DAG: sw $8, 20([[R2]])
153 ; O32-DAG: lw [[R3:\$[0-9]+]], 20($sp)
154 ; O32-DAG: sw [[R3]], 24([[R2]])
155 ; NEW-DAG: sw $9, 24([[R2]])
157 ; O32-DAG: lw [[R3:\$[0-9]+]], 24($sp)
158 ; O32-DAG: sw [[R3]], 28([[R2]])
159 ; NEW-DAG: sw $10, 28([[R2]])
161 ; O32-DAG: lw [[R3:\$[0-9]+]], 28($sp)
162 ; O32-DAG: sw [[R3]], 32([[R2]])
163 ; NEW-DAG: sw $11, 32([[R2]])
166 ; O32-DAG: lw [[R3:\$[0-9]+]], 32($sp)
167 ; O32-DAG: sw [[R3]], 36([[R2]])
168 ; NEW-DAG: lw [[R3:\$[0-9]+]], 0($sp)
169 ; NEW-DAG: sw [[R3]], 36([[R2]])
180 ; ALL-LABEL: double_arg2:
183 ; SYM32-DAG: addiu [[R1:\$[0-9]+]], ${{[0-9]+}}, %lo(bytes)
184 ; SYM64-DAG: ld [[R1:\$[0-9]]], %got_disp(bytes)(
185 ; SYM32-DAG: addiu [[R2:\$[0-9]+]], ${{[0-9]+}}, %lo(doubles)
186 ; SYM64-DAG: ld [[R2:\$[0-9]]], %got_disp(doubles)(
193 ; ALL-DAG: sb $4, 1([[R1]])
194 ; O32-DAG: sw $6, 8([[R2]])
195 ; O32-DAG: sw $7, 12([[R2]])
196 ; NEW-DAG: sd $5, 8([[R2]])
207 ; ALL-LABEL: float_arg2:
210 ; SYM32-DAG: addiu [[R1:\$[0-9]+]], ${{[0-9]+}}, %lo(bytes)
211 ; SYM64-DAG: ld [[R1:\$[0-9]]], %got_disp(bytes)(
212 ; SYM32-DAG: addiu [[R2:\$[0-9]+]], ${{[0-9]+}}, %lo(floats)
213 ; SYM64-DAG: ld [[R2:\$[0-9]]], %got_disp(floats)(
218 ; MD00305 and GCC disagree on this one. MD00305 says that floats are treated
219 ; as 8-byte aligned and occupy two slots on O32. GCC is treating them as 4-byte
220 ; aligned and occupying one slot. We'll use GCC's definition.
221 ; ALL-DAG: sb $4, 1([[R1]])
222 ; ALL-DAG: sw $5, 4([[R2]])