0001
0002
0003
0004
0005
0006
0007 #include <ppc-asm.h>
0008 #include "reg.h"
0009
0010
0011
0012 FUNC_START(load_gpr)
0013 ld 14, 0*8(3)
0014 ld 15, 1*8(3)
0015 ld 16, 2*8(3)
0016 ld 17, 3*8(3)
0017 ld 18, 4*8(3)
0018 ld 19, 5*8(3)
0019 ld 20, 6*8(3)
0020 ld 21, 7*8(3)
0021 ld 22, 8*8(3)
0022 ld 23, 9*8(3)
0023 ld 24, 10*8(3)
0024 ld 25, 11*8(3)
0025 ld 26, 12*8(3)
0026 ld 27, 13*8(3)
0027 ld 28, 14*8(3)
0028 ld 29, 15*8(3)
0029 ld 30, 16*8(3)
0030 ld 31, 17*8(3)
0031 blr
0032 FUNC_END(load_gpr)
0033
0034 FUNC_START(store_gpr)
0035 std 14, 0*8(3)
0036 std 15, 1*8(3)
0037 std 16, 2*8(3)
0038 std 17, 3*8(3)
0039 std 18, 4*8(3)
0040 std 19, 5*8(3)
0041 std 20, 6*8(3)
0042 std 21, 7*8(3)
0043 std 22, 8*8(3)
0044 std 23, 9*8(3)
0045 std 24, 10*8(3)
0046 std 25, 11*8(3)
0047 std 26, 12*8(3)
0048 std 27, 13*8(3)
0049 std 28, 14*8(3)
0050 std 29, 15*8(3)
0051 std 30, 16*8(3)
0052 std 31, 17*8(3)
0053 blr
0054 FUNC_END(store_gpr)
0055
0056
0057 FUNC_START(store_fpr)
0058 stfd 0, 0*8(3)
0059 stfd 1, 1*8(3)
0060 stfd 2, 2*8(3)
0061 stfd 3, 3*8(3)
0062 stfd 4, 4*8(3)
0063 stfd 5, 5*8(3)
0064 stfd 6, 6*8(3)
0065 stfd 7, 7*8(3)
0066 stfd 8, 8*8(3)
0067 stfd 9, 9*8(3)
0068 stfd 10, 10*8(3)
0069 stfd 11, 11*8(3)
0070 stfd 12, 12*8(3)
0071 stfd 13, 13*8(3)
0072 stfd 14, 14*8(3)
0073 stfd 15, 15*8(3)
0074 stfd 16, 16*8(3)
0075 stfd 17, 17*8(3)
0076 stfd 18, 18*8(3)
0077 stfd 19, 19*8(3)
0078 stfd 20, 20*8(3)
0079 stfd 21, 21*8(3)
0080 stfd 22, 22*8(3)
0081 stfd 23, 23*8(3)
0082 stfd 24, 24*8(3)
0083 stfd 25, 25*8(3)
0084 stfd 26, 26*8(3)
0085 stfd 27, 27*8(3)
0086 stfd 28, 28*8(3)
0087 stfd 29, 29*8(3)
0088 stfd 30, 30*8(3)
0089 stfd 31, 31*8(3)
0090 blr
0091 FUNC_END(store_fpr)
0092
0093
0094 FUNC_START(loadvsx)
0095 lis 4, 0
0096 LXVD2X (0,(4),(3))
0097 addi 4, 4, 16
0098 LXVD2X (1,(4),(3))
0099 addi 4, 4, 16
0100 LXVD2X (2,(4),(3))
0101 addi 4, 4, 16
0102 LXVD2X (3,(4),(3))
0103 addi 4, 4, 16
0104 LXVD2X (4,(4),(3))
0105 addi 4, 4, 16
0106 LXVD2X (5,(4),(3))
0107 addi 4, 4, 16
0108 LXVD2X (6,(4),(3))
0109 addi 4, 4, 16
0110 LXVD2X (7,(4),(3))
0111 addi 4, 4, 16
0112 LXVD2X (8,(4),(3))
0113 addi 4, 4, 16
0114 LXVD2X (9,(4),(3))
0115 addi 4, 4, 16
0116 LXVD2X (10,(4),(3))
0117 addi 4, 4, 16
0118 LXVD2X (11,(4),(3))
0119 addi 4, 4, 16
0120 LXVD2X (12,(4),(3))
0121 addi 4, 4, 16
0122 LXVD2X (13,(4),(3))
0123 addi 4, 4, 16
0124 LXVD2X (14,(4),(3))
0125 addi 4, 4, 16
0126 LXVD2X (15,(4),(3))
0127 addi 4, 4, 16
0128 LXVD2X (16,(4),(3))
0129 addi 4, 4, 16
0130 LXVD2X (17,(4),(3))
0131 addi 4, 4, 16
0132 LXVD2X (18,(4),(3))
0133 addi 4, 4, 16
0134 LXVD2X (19,(4),(3))
0135 addi 4, 4, 16
0136 LXVD2X (20,(4),(3))
0137 addi 4, 4, 16
0138 LXVD2X (21,(4),(3))
0139 addi 4, 4, 16
0140 LXVD2X (22,(4),(3))
0141 addi 4, 4, 16
0142 LXVD2X (23,(4),(3))
0143 addi 4, 4, 16
0144 LXVD2X (24,(4),(3))
0145 addi 4, 4, 16
0146 LXVD2X (25,(4),(3))
0147 addi 4, 4, 16
0148 LXVD2X (26,(4),(3))
0149 addi 4, 4, 16
0150 LXVD2X (27,(4),(3))
0151 addi 4, 4, 16
0152 LXVD2X (28,(4),(3))
0153 addi 4, 4, 16
0154 LXVD2X (29,(4),(3))
0155 addi 4, 4, 16
0156 LXVD2X (30,(4),(3))
0157 addi 4, 4, 16
0158 LXVD2X (31,(4),(3))
0159 addi 4, 4, 16
0160 LXVD2X (32,(4),(3))
0161 addi 4, 4, 16
0162 LXVD2X (33,(4),(3))
0163 addi 4, 4, 16
0164 LXVD2X (34,(4),(3))
0165 addi 4, 4, 16
0166 LXVD2X (35,(4),(3))
0167 addi 4, 4, 16
0168 LXVD2X (36,(4),(3))
0169 addi 4, 4, 16
0170 LXVD2X (37,(4),(3))
0171 addi 4, 4, 16
0172 LXVD2X (38,(4),(3))
0173 addi 4, 4, 16
0174 LXVD2X (39,(4),(3))
0175 addi 4, 4, 16
0176 LXVD2X (40,(4),(3))
0177 addi 4, 4, 16
0178 LXVD2X (41,(4),(3))
0179 addi 4, 4, 16
0180 LXVD2X (42,(4),(3))
0181 addi 4, 4, 16
0182 LXVD2X (43,(4),(3))
0183 addi 4, 4, 16
0184 LXVD2X (44,(4),(3))
0185 addi 4, 4, 16
0186 LXVD2X (45,(4),(3))
0187 addi 4, 4, 16
0188 LXVD2X (46,(4),(3))
0189 addi 4, 4, 16
0190 LXVD2X (47,(4),(3))
0191 addi 4, 4, 16
0192 LXVD2X (48,(4),(3))
0193 addi 4, 4, 16
0194 LXVD2X (49,(4),(3))
0195 addi 4, 4, 16
0196 LXVD2X (50,(4),(3))
0197 addi 4, 4, 16
0198 LXVD2X (51,(4),(3))
0199 addi 4, 4, 16
0200 LXVD2X (52,(4),(3))
0201 addi 4, 4, 16
0202 LXVD2X (53,(4),(3))
0203 addi 4, 4, 16
0204 LXVD2X (54,(4),(3))
0205 addi 4, 4, 16
0206 LXVD2X (55,(4),(3))
0207 addi 4, 4, 16
0208 LXVD2X (56,(4),(3))
0209 addi 4, 4, 16
0210 LXVD2X (57,(4),(3))
0211 addi 4, 4, 16
0212 LXVD2X (58,(4),(3))
0213 addi 4, 4, 16
0214 LXVD2X (59,(4),(3))
0215 addi 4, 4, 16
0216 LXVD2X (60,(4),(3))
0217 addi 4, 4, 16
0218 LXVD2X (61,(4),(3))
0219 addi 4, 4, 16
0220 LXVD2X (62,(4),(3))
0221 addi 4, 4, 16
0222 LXVD2X (63,(4),(3))
0223 blr
0224 FUNC_END(loadvsx)
0225
0226 FUNC_START(storevsx)
0227 lis 4, 0
0228 STXVD2X (0,(4),(3))
0229 addi 4, 4, 16
0230 STXVD2X (1,(4),(3))
0231 addi 4, 4, 16
0232 STXVD2X (2,(4),(3))
0233 addi 4, 4, 16
0234 STXVD2X (3,(4),(3))
0235 addi 4, 4, 16
0236 STXVD2X (4,(4),(3))
0237 addi 4, 4, 16
0238 STXVD2X (5,(4),(3))
0239 addi 4, 4, 16
0240 STXVD2X (6,(4),(3))
0241 addi 4, 4, 16
0242 STXVD2X (7,(4),(3))
0243 addi 4, 4, 16
0244 STXVD2X (8,(4),(3))
0245 addi 4, 4, 16
0246 STXVD2X (9,(4),(3))
0247 addi 4, 4, 16
0248 STXVD2X (10,(4),(3))
0249 addi 4, 4, 16
0250 STXVD2X (11,(4),(3))
0251 addi 4, 4, 16
0252 STXVD2X (12,(4),(3))
0253 addi 4, 4, 16
0254 STXVD2X (13,(4),(3))
0255 addi 4, 4, 16
0256 STXVD2X (14,(4),(3))
0257 addi 4, 4, 16
0258 STXVD2X (15,(4),(3))
0259 addi 4, 4, 16
0260 STXVD2X (16,(4),(3))
0261 addi 4, 4, 16
0262 STXVD2X (17,(4),(3))
0263 addi 4, 4, 16
0264 STXVD2X (18,(4),(3))
0265 addi 4, 4, 16
0266 STXVD2X (19,(4),(3))
0267 addi 4, 4, 16
0268 STXVD2X (20,(4),(3))
0269 addi 4, 4, 16
0270 STXVD2X (21,(4),(3))
0271 addi 4, 4, 16
0272 STXVD2X (22,(4),(3))
0273 addi 4, 4, 16
0274 STXVD2X (23,(4),(3))
0275 addi 4, 4, 16
0276 STXVD2X (24,(4),(3))
0277 addi 4, 4, 16
0278 STXVD2X (25,(4),(3))
0279 addi 4, 4, 16
0280 STXVD2X (26,(4),(3))
0281 addi 4, 4, 16
0282 STXVD2X (27,(4),(3))
0283 addi 4, 4, 16
0284 STXVD2X (28,(4),(3))
0285 addi 4, 4, 16
0286 STXVD2X (29,(4),(3))
0287 addi 4, 4, 16
0288 STXVD2X (30,(4),(3))
0289 addi 4, 4, 16
0290 STXVD2X (31,(4),(3))
0291 addi 4, 4, 16
0292 STXVD2X (32,(4),(3))
0293 addi 4, 4, 16
0294 STXVD2X (33,(4),(3))
0295 addi 4, 4, 16
0296 STXVD2X (34,(4),(3))
0297 addi 4, 4, 16
0298 STXVD2X (35,(4),(3))
0299 addi 4, 4, 16
0300 STXVD2X (36,(4),(3))
0301 addi 4, 4, 16
0302 STXVD2X (37,(4),(3))
0303 addi 4, 4, 16
0304 STXVD2X (38,(4),(3))
0305 addi 4, 4, 16
0306 STXVD2X (39,(4),(3))
0307 addi 4, 4, 16
0308 STXVD2X (40,(4),(3))
0309 addi 4, 4, 16
0310 STXVD2X (41,(4),(3))
0311 addi 4, 4, 16
0312 STXVD2X (42,(4),(3))
0313 addi 4, 4, 16
0314 STXVD2X (43,(4),(3))
0315 addi 4, 4, 16
0316 STXVD2X (44,(4),(3))
0317 addi 4, 4, 16
0318 STXVD2X (45,(4),(3))
0319 addi 4, 4, 16
0320 STXVD2X (46,(4),(3))
0321 addi 4, 4, 16
0322 STXVD2X (47,(4),(3))
0323 addi 4, 4, 16
0324 STXVD2X (48,(4),(3))
0325 addi 4, 4, 16
0326 STXVD2X (49,(4),(3))
0327 addi 4, 4, 16
0328 STXVD2X (50,(4),(3))
0329 addi 4, 4, 16
0330 STXVD2X (51,(4),(3))
0331 addi 4, 4, 16
0332 STXVD2X (52,(4),(3))
0333 addi 4, 4, 16
0334 STXVD2X (53,(4),(3))
0335 addi 4, 4, 16
0336 STXVD2X (54,(4),(3))
0337 addi 4, 4, 16
0338 STXVD2X (55,(4),(3))
0339 addi 4, 4, 16
0340 STXVD2X (56,(4),(3))
0341 addi 4, 4, 16
0342 STXVD2X (57,(4),(3))
0343 addi 4, 4, 16
0344 STXVD2X (58,(4),(3))
0345 addi 4, 4, 16
0346 STXVD2X (59,(4),(3))
0347 addi 4, 4, 16
0348 STXVD2X (60,(4),(3))
0349 addi 4, 4, 16
0350 STXVD2X (61,(4),(3))
0351 addi 4, 4, 16
0352 STXVD2X (62,(4),(3))
0353 addi 4, 4, 16
0354 STXVD2X (63,(4),(3))
0355 blr
0356 FUNC_END(storevsx)