1*4882a593Smuzhiyun#ifndef __ASM_MEMCPY_UTILS 2*4882a593Smuzhiyun#define __ASM_MEMCPY_UTILS 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun#include <linux/linkage.h> 5*4882a593Smuzhiyun#include <asm/asi.h> 6*4882a593Smuzhiyun#include <asm/visasm.h> 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunENTRY(__restore_asi_fp) 9*4882a593Smuzhiyun VISExitHalf 10*4882a593Smuzhiyun retl 11*4882a593Smuzhiyun wr %g0, ASI_AIUS, %asi 12*4882a593SmuzhiyunENDPROC(__restore_asi_fp) 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunENTRY(__restore_asi) 15*4882a593Smuzhiyun retl 16*4882a593Smuzhiyun wr %g0, ASI_AIUS, %asi 17*4882a593SmuzhiyunENDPROC(__restore_asi) 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunENTRY(memcpy_retl_o2) 20*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 21*4882a593Smuzhiyun mov %o2, %o0 22*4882a593SmuzhiyunENDPROC(memcpy_retl_o2) 23*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_1) 24*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 25*4882a593Smuzhiyun add %o2, 1, %o0 26*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_1) 27*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_3) 28*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 29*4882a593Smuzhiyun add %o2, 3, %o0 30*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_3) 31*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_4) 32*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 33*4882a593Smuzhiyun add %o2, 4, %o0 34*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_4) 35*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_5) 36*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 37*4882a593Smuzhiyun add %o2, 5, %o0 38*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_5) 39*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_6) 40*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 41*4882a593Smuzhiyun add %o2, 6, %o0 42*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_6) 43*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_7) 44*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 45*4882a593Smuzhiyun add %o2, 7, %o0 46*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_7) 47*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_8) 48*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 49*4882a593Smuzhiyun add %o2, 8, %o0 50*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_8) 51*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_15) 52*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 53*4882a593Smuzhiyun add %o2, 15, %o0 54*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_15) 55*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_15_8) 56*4882a593Smuzhiyun add %o2, 15, %o2 57*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 58*4882a593Smuzhiyun add %o2, 8, %o0 59*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_15_8) 60*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_16) 61*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 62*4882a593Smuzhiyun add %o2, 16, %o0 63*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_16) 64*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_24) 65*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 66*4882a593Smuzhiyun add %o2, 24, %o0 67*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_24) 68*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_31) 69*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 70*4882a593Smuzhiyun add %o2, 31, %o0 71*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_31) 72*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_32) 73*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 74*4882a593Smuzhiyun add %o2, 32, %o0 75*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_32) 76*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_31_32) 77*4882a593Smuzhiyun add %o2, 31, %o2 78*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 79*4882a593Smuzhiyun add %o2, 32, %o0 80*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_31_32) 81*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_31_24) 82*4882a593Smuzhiyun add %o2, 31, %o2 83*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 84*4882a593Smuzhiyun add %o2, 24, %o0 85*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_31_24) 86*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_31_16) 87*4882a593Smuzhiyun add %o2, 31, %o2 88*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 89*4882a593Smuzhiyun add %o2, 16, %o0 90*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_31_16) 91*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_31_8) 92*4882a593Smuzhiyun add %o2, 31, %o2 93*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 94*4882a593Smuzhiyun add %o2, 8, %o0 95*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_31_8) 96*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63) 97*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 98*4882a593Smuzhiyun add %o2, 63, %o0 99*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63) 100*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_64) 101*4882a593Smuzhiyun add %o2, 63, %o2 102*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 103*4882a593Smuzhiyun add %o2, 64, %o0 104*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_64) 105*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_56) 106*4882a593Smuzhiyun add %o2, 63, %o2 107*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 108*4882a593Smuzhiyun add %o2, 56, %o0 109*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_56) 110*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_48) 111*4882a593Smuzhiyun add %o2, 63, %o2 112*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 113*4882a593Smuzhiyun add %o2, 48, %o0 114*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_48) 115*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_40) 116*4882a593Smuzhiyun add %o2, 63, %o2 117*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 118*4882a593Smuzhiyun add %o2, 40, %o0 119*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_40) 120*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_32) 121*4882a593Smuzhiyun add %o2, 63, %o2 122*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 123*4882a593Smuzhiyun add %o2, 32, %o0 124*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_32) 125*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_24) 126*4882a593Smuzhiyun add %o2, 63, %o2 127*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 128*4882a593Smuzhiyun add %o2, 24, %o0 129*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_24) 130*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_16) 131*4882a593Smuzhiyun add %o2, 63, %o2 132*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 133*4882a593Smuzhiyun add %o2, 16, %o0 134*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_16) 135*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_63_8) 136*4882a593Smuzhiyun add %o2, 63, %o2 137*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 138*4882a593Smuzhiyun add %o2, 8, %o0 139*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_63_8) 140*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5) 141*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 142*4882a593Smuzhiyun add %o2, %o5, %o0 143*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5) 144*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_1) 145*4882a593Smuzhiyun add %o5, 1, %o5 146*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 147*4882a593Smuzhiyun add %o2, %o5, %o0 148*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_1) 149*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_4) 150*4882a593Smuzhiyun add %o5, 4, %o5 151*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 152*4882a593Smuzhiyun add %o2, %o5, %o0 153*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_4) 154*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_8) 155*4882a593Smuzhiyun add %o5, 8, %o5 156*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 157*4882a593Smuzhiyun add %o2, %o5, %o0 158*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_8) 159*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_16) 160*4882a593Smuzhiyun add %o5, 16, %o5 161*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 162*4882a593Smuzhiyun add %o2, %o5, %o0 163*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_16) 164*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_24) 165*4882a593Smuzhiyun add %o5, 24, %o5 166*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 167*4882a593Smuzhiyun add %o2, %o5, %o0 168*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_24) 169*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_32) 170*4882a593Smuzhiyun add %o5, 32, %o5 171*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 172*4882a593Smuzhiyun add %o2, %o5, %o0 173*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_32) 174*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_64) 175*4882a593Smuzhiyun add %o5, 32, %o5 176*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 177*4882a593Smuzhiyun add %o2, %o5, %o0 178*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_64) 179*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_g1) 180*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 181*4882a593Smuzhiyun add %o2, %g1, %o0 182*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_g1) 183*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_g1_plus_1) 184*4882a593Smuzhiyun add %g1, 1, %g1 185*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 186*4882a593Smuzhiyun add %o2, %g1, %o0 187*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_g1_plus_1) 188*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_g1_plus_8) 189*4882a593Smuzhiyun add %g1, 8, %g1 190*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 191*4882a593Smuzhiyun add %o2, %g1, %o0 192*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_g1_plus_8) 193*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4) 194*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 195*4882a593Smuzhiyun add %o2, %o4, %o0 196*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4) 197*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_8) 198*4882a593Smuzhiyun add %o4, 8, %o4 199*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 200*4882a593Smuzhiyun add %o2, %o4, %o0 201*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_8) 202*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_16) 203*4882a593Smuzhiyun add %o4, 16, %o4 204*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 205*4882a593Smuzhiyun add %o2, %o4, %o0 206*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_16) 207*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_24) 208*4882a593Smuzhiyun add %o4, 24, %o4 209*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 210*4882a593Smuzhiyun add %o2, %o4, %o0 211*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_24) 212*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_32) 213*4882a593Smuzhiyun add %o4, 32, %o4 214*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 215*4882a593Smuzhiyun add %o2, %o4, %o0 216*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_32) 217*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_40) 218*4882a593Smuzhiyun add %o4, 40, %o4 219*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 220*4882a593Smuzhiyun add %o2, %o4, %o0 221*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_40) 222*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_48) 223*4882a593Smuzhiyun add %o4, 48, %o4 224*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 225*4882a593Smuzhiyun add %o2, %o4, %o0 226*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_48) 227*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_56) 228*4882a593Smuzhiyun add %o4, 56, %o4 229*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 230*4882a593Smuzhiyun add %o2, %o4, %o0 231*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_56) 232*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_64) 233*4882a593Smuzhiyun add %o4, 64, %o4 234*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 235*4882a593Smuzhiyun add %o2, %o4, %o0 236*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_64) 237*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_64) 238*4882a593Smuzhiyun add %o5, 64, %o5 239*4882a593Smuzhiyun ba,pt %xcc, __restore_asi 240*4882a593Smuzhiyun add %o2, %o5, %o0 241*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_64) 242*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o3_fp) 243*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 244*4882a593Smuzhiyun add %o2, %o3, %o0 245*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o3_fp) 246*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o3_plus_1_fp) 247*4882a593Smuzhiyun add %o3, 1, %o3 248*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 249*4882a593Smuzhiyun add %o2, %o3, %o0 250*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o3_plus_1_fp) 251*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o3_plus_4_fp) 252*4882a593Smuzhiyun add %o3, 4, %o3 253*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 254*4882a593Smuzhiyun add %o2, %o3, %o0 255*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o3_plus_4_fp) 256*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_fp) 257*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 258*4882a593Smuzhiyun add %o2, %o4, %o0 259*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_fp) 260*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_8_fp) 261*4882a593Smuzhiyun add %o4, 8, %o4 262*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 263*4882a593Smuzhiyun add %o2, %o4, %o0 264*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_8_fp) 265*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_16_fp) 266*4882a593Smuzhiyun add %o4, 16, %o4 267*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 268*4882a593Smuzhiyun add %o2, %o4, %o0 269*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_16_fp) 270*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_24_fp) 271*4882a593Smuzhiyun add %o4, 24, %o4 272*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 273*4882a593Smuzhiyun add %o2, %o4, %o0 274*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_24_fp) 275*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_32_fp) 276*4882a593Smuzhiyun add %o4, 32, %o4 277*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 278*4882a593Smuzhiyun add %o2, %o4, %o0 279*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_32_fp) 280*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_40_fp) 281*4882a593Smuzhiyun add %o4, 40, %o4 282*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 283*4882a593Smuzhiyun add %o2, %o4, %o0 284*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_40_fp) 285*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_48_fp) 286*4882a593Smuzhiyun add %o4, 48, %o4 287*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 288*4882a593Smuzhiyun add %o2, %o4, %o0 289*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_48_fp) 290*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_56_fp) 291*4882a593Smuzhiyun add %o4, 56, %o4 292*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 293*4882a593Smuzhiyun add %o2, %o4, %o0 294*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_56_fp) 295*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o4_plus_64_fp) 296*4882a593Smuzhiyun add %o4, 64, %o4 297*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 298*4882a593Smuzhiyun add %o2, %o4, %o0 299*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o4_plus_64_fp) 300*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_fp) 301*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 302*4882a593Smuzhiyun add %o2, %o5, %o0 303*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_fp) 304*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_64_fp) 305*4882a593Smuzhiyun add %o5, 64, %o5 306*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 307*4882a593Smuzhiyun add %o2, %o5, %o0 308*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_64_fp) 309*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_56_fp) 310*4882a593Smuzhiyun add %o5, 56, %o5 311*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 312*4882a593Smuzhiyun add %o2, %o5, %o0 313*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_56_fp) 314*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_48_fp) 315*4882a593Smuzhiyun add %o5, 48, %o5 316*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 317*4882a593Smuzhiyun add %o2, %o5, %o0 318*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_48_fp) 319*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_40_fp) 320*4882a593Smuzhiyun add %o5, 40, %o5 321*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 322*4882a593Smuzhiyun add %o2, %o5, %o0 323*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_40_fp) 324*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_32_fp) 325*4882a593Smuzhiyun add %o5, 32, %o5 326*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 327*4882a593Smuzhiyun add %o2, %o5, %o0 328*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_32_fp) 329*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_24_fp) 330*4882a593Smuzhiyun add %o5, 24, %o5 331*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 332*4882a593Smuzhiyun add %o2, %o5, %o0 333*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_24_fp) 334*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_16_fp) 335*4882a593Smuzhiyun add %o5, 16, %o5 336*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 337*4882a593Smuzhiyun add %o2, %o5, %o0 338*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_16_fp) 339*4882a593SmuzhiyunENTRY(memcpy_retl_o2_plus_o5_plus_8_fp) 340*4882a593Smuzhiyun add %o5, 8, %o5 341*4882a593Smuzhiyun ba,pt %xcc, __restore_asi_fp 342*4882a593Smuzhiyun add %o2, %o5, %o0 343*4882a593SmuzhiyunENDPROC(memcpy_retl_o2_plus_o5_plus_8_fp) 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun#endif 346