1de5c073eSBabu Moger#ifndef __ASM_MEMCPY_UTILS 2de5c073eSBabu Moger#define __ASM_MEMCPY_UTILS 3de5c073eSBabu Moger 4de5c073eSBabu Moger#include <linux/linkage.h> 5de5c073eSBabu Moger#include <asm/asi.h> 6de5c073eSBabu Moger#include <asm/visasm.h> 7de5c073eSBabu Moger 8de5c073eSBabu MogerENTRY(__restore_asi_fp) 9de5c073eSBabu Moger VISExitHalf 10de5c073eSBabu Moger retl 11de5c073eSBabu Moger wr %g0, ASI_AIUS, %asi 12de5c073eSBabu MogerENDPROC(__restore_asi_fp) 13de5c073eSBabu Moger 14de5c073eSBabu MogerENTRY(__restore_asi) 15de5c073eSBabu Moger retl 16de5c073eSBabu Moger wr %g0, ASI_AIUS, %asi 17de5c073eSBabu MogerENDPROC(__restore_asi) 18de5c073eSBabu Moger 191ab32693SBabu MogerENTRY(memcpy_retl_o2) 20de5c073eSBabu Moger ba,pt %xcc, __restore_asi 21de5c073eSBabu Moger mov %o2, %o0 221ab32693SBabu MogerENDPROC(memcpy_retl_o2) 231ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_1) 24de5c073eSBabu Moger ba,pt %xcc, __restore_asi 25de5c073eSBabu Moger add %o2, 1, %o0 261ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_1) 2734060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_3) 2834060b8fSBabu Moger ba,pt %xcc, __restore_asi 2934060b8fSBabu Moger add %o2, 3, %o0 3034060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_3) 311ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_4) 32de5c073eSBabu Moger ba,pt %xcc, __restore_asi 33de5c073eSBabu Moger add %o2, 4, %o0 341ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_4) 3534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_5) 3634060b8fSBabu Moger ba,pt %xcc, __restore_asi 3734060b8fSBabu Moger add %o2, 5, %o0 3834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_5) 3934060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_6) 4034060b8fSBabu Moger ba,pt %xcc, __restore_asi 4134060b8fSBabu Moger add %o2, 6, %o0 4234060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_6) 4334060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_7) 4434060b8fSBabu Moger ba,pt %xcc, __restore_asi 4534060b8fSBabu Moger add %o2, 7, %o0 4634060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_7) 4734060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_8) 4834060b8fSBabu Moger ba,pt %xcc, __restore_asi 4934060b8fSBabu Moger add %o2, 8, %o0 5034060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_8) 5134060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_15) 5234060b8fSBabu Moger ba,pt %xcc, __restore_asi 5334060b8fSBabu Moger add %o2, 15, %o0 5434060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_15) 5534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_15_8) 5634060b8fSBabu Moger add %o2, 15, %o2 5734060b8fSBabu Moger ba,pt %xcc, __restore_asi 5834060b8fSBabu Moger add %o2, 8, %o0 5934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_15_8) 6034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_16) 6134060b8fSBabu Moger ba,pt %xcc, __restore_asi 6234060b8fSBabu Moger add %o2, 16, %o0 6334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_16) 6434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_24) 6534060b8fSBabu Moger ba,pt %xcc, __restore_asi 6634060b8fSBabu Moger add %o2, 24, %o0 6734060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_24) 6834060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_31) 6934060b8fSBabu Moger ba,pt %xcc, __restore_asi 7034060b8fSBabu Moger add %o2, 31, %o0 7134060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_31) 7234060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_32) 7334060b8fSBabu Moger ba,pt %xcc, __restore_asi 7434060b8fSBabu Moger add %o2, 32, %o0 7534060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_32) 7634060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_31_32) 7734060b8fSBabu Moger add %o2, 31, %o2 7834060b8fSBabu Moger ba,pt %xcc, __restore_asi 7934060b8fSBabu Moger add %o2, 32, %o0 8034060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_31_32) 8134060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_31_24) 8234060b8fSBabu Moger add %o2, 31, %o2 8334060b8fSBabu Moger ba,pt %xcc, __restore_asi 8434060b8fSBabu Moger add %o2, 24, %o0 8534060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_31_24) 8634060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_31_16) 8734060b8fSBabu Moger add %o2, 31, %o2 8834060b8fSBabu Moger ba,pt %xcc, __restore_asi 8934060b8fSBabu Moger add %o2, 16, %o0 9034060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_31_16) 9134060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_31_8) 9234060b8fSBabu Moger add %o2, 31, %o2 9334060b8fSBabu Moger ba,pt %xcc, __restore_asi 9434060b8fSBabu Moger add %o2, 8, %o0 9534060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_31_8) 9634060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63) 9734060b8fSBabu Moger ba,pt %xcc, __restore_asi 9834060b8fSBabu Moger add %o2, 63, %o0 9934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63) 10034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_64) 10134060b8fSBabu Moger add %o2, 63, %o2 10234060b8fSBabu Moger ba,pt %xcc, __restore_asi 10334060b8fSBabu Moger add %o2, 64, %o0 10434060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_64) 10534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_56) 10634060b8fSBabu Moger add %o2, 63, %o2 10734060b8fSBabu Moger ba,pt %xcc, __restore_asi 10834060b8fSBabu Moger add %o2, 56, %o0 10934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_56) 11034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_48) 11134060b8fSBabu Moger add %o2, 63, %o2 11234060b8fSBabu Moger ba,pt %xcc, __restore_asi 11334060b8fSBabu Moger add %o2, 48, %o0 11434060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_48) 11534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_40) 11634060b8fSBabu Moger add %o2, 63, %o2 11734060b8fSBabu Moger ba,pt %xcc, __restore_asi 11834060b8fSBabu Moger add %o2, 40, %o0 11934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_40) 12034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_32) 12134060b8fSBabu Moger add %o2, 63, %o2 12234060b8fSBabu Moger ba,pt %xcc, __restore_asi 12334060b8fSBabu Moger add %o2, 32, %o0 12434060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_32) 12534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_24) 12634060b8fSBabu Moger add %o2, 63, %o2 12734060b8fSBabu Moger ba,pt %xcc, __restore_asi 12834060b8fSBabu Moger add %o2, 24, %o0 12934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_24) 13034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_16) 13134060b8fSBabu Moger add %o2, 63, %o2 13234060b8fSBabu Moger ba,pt %xcc, __restore_asi 13334060b8fSBabu Moger add %o2, 16, %o0 13434060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_16) 13534060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_63_8) 13634060b8fSBabu Moger add %o2, 63, %o2 13734060b8fSBabu Moger ba,pt %xcc, __restore_asi 13834060b8fSBabu Moger add %o2, 8, %o0 13934060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_63_8) 1401ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5) 141de5c073eSBabu Moger ba,pt %xcc, __restore_asi 142de5c073eSBabu Moger add %o2, %o5, %o0 1431ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5) 14434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_1) 14534060b8fSBabu Moger add %o5, 1, %o5 14634060b8fSBabu Moger ba,pt %xcc, __restore_asi 14734060b8fSBabu Moger add %o2, %o5, %o0 14834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_1) 1491ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_4) 150de5c073eSBabu Moger add %o5, 4, %o5 151de5c073eSBabu Moger ba,pt %xcc, __restore_asi 152de5c073eSBabu Moger add %o2, %o5, %o0 1531ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_4) 1541ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_8) 155de5c073eSBabu Moger add %o5, 8, %o5 156de5c073eSBabu Moger ba,pt %xcc, __restore_asi 157de5c073eSBabu Moger add %o2, %o5, %o0 1581ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_8) 1591ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_16) 160de5c073eSBabu Moger add %o5, 16, %o5 161de5c073eSBabu Moger ba,pt %xcc, __restore_asi 162de5c073eSBabu Moger add %o2, %o5, %o0 1631ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_16) 1641ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_24) 165de5c073eSBabu Moger add %o5, 24, %o5 166de5c073eSBabu Moger ba,pt %xcc, __restore_asi 167de5c073eSBabu Moger add %o2, %o5, %o0 1681ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_24) 1691ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_32) 170de5c073eSBabu Moger add %o5, 32, %o5 171de5c073eSBabu Moger ba,pt %xcc, __restore_asi 172de5c073eSBabu Moger add %o2, %o5, %o0 1731ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_32) 17434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_64) 17534060b8fSBabu Moger add %o5, 32, %o5 17634060b8fSBabu Moger ba,pt %xcc, __restore_asi 17734060b8fSBabu Moger add %o2, %o5, %o0 17834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_64) 1791ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_g1) 180de5c073eSBabu Moger ba,pt %xcc, __restore_asi 181de5c073eSBabu Moger add %o2, %g1, %o0 1821ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_g1) 1831ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_g1_plus_1) 184de5c073eSBabu Moger add %g1, 1, %g1 185de5c073eSBabu Moger ba,pt %xcc, __restore_asi 186de5c073eSBabu Moger add %o2, %g1, %o0 1871ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_g1_plus_1) 1881ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_g1_plus_8) 189de5c073eSBabu Moger add %g1, 8, %g1 190de5c073eSBabu Moger ba,pt %xcc, __restore_asi 191de5c073eSBabu Moger add %o2, %g1, %o0 1921ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_g1_plus_8) 1931ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4) 194de5c073eSBabu Moger ba,pt %xcc, __restore_asi 195de5c073eSBabu Moger add %o2, %o4, %o0 1961ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4) 1971ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_8) 198de5c073eSBabu Moger add %o4, 8, %o4 199de5c073eSBabu Moger ba,pt %xcc, __restore_asi 200de5c073eSBabu Moger add %o2, %o4, %o0 2011ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_8) 2021ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_16) 203de5c073eSBabu Moger add %o4, 16, %o4 204de5c073eSBabu Moger ba,pt %xcc, __restore_asi 205de5c073eSBabu Moger add %o2, %o4, %o0 2061ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_16) 2071ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_24) 208de5c073eSBabu Moger add %o4, 24, %o4 209de5c073eSBabu Moger ba,pt %xcc, __restore_asi 210de5c073eSBabu Moger add %o2, %o4, %o0 2111ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_24) 2121ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_32) 213de5c073eSBabu Moger add %o4, 32, %o4 214de5c073eSBabu Moger ba,pt %xcc, __restore_asi 215de5c073eSBabu Moger add %o2, %o4, %o0 2161ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_32) 2171ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_40) 218de5c073eSBabu Moger add %o4, 40, %o4 219de5c073eSBabu Moger ba,pt %xcc, __restore_asi 220de5c073eSBabu Moger add %o2, %o4, %o0 2211ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_40) 2221ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_48) 223de5c073eSBabu Moger add %o4, 48, %o4 224de5c073eSBabu Moger ba,pt %xcc, __restore_asi 225de5c073eSBabu Moger add %o2, %o4, %o0 2261ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_48) 2271ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_56) 228de5c073eSBabu Moger add %o4, 56, %o4 229de5c073eSBabu Moger ba,pt %xcc, __restore_asi 230de5c073eSBabu Moger add %o2, %o4, %o0 2311ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_56) 2321ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_64) 233de5c073eSBabu Moger add %o4, 64, %o4 234de5c073eSBabu Moger ba,pt %xcc, __restore_asi 235de5c073eSBabu Moger add %o2, %o4, %o0 2361ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_64) 23734060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_64) 23834060b8fSBabu Moger add %o5, 64, %o5 23934060b8fSBabu Moger ba,pt %xcc, __restore_asi 24034060b8fSBabu Moger add %o2, %o5, %o0 24134060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_64) 24234060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o3_fp) 24334060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 24434060b8fSBabu Moger add %o2, %o3, %o0 24534060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o3_fp) 24634060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o3_plus_1_fp) 24734060b8fSBabu Moger add %o3, 1, %o3 24834060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 24934060b8fSBabu Moger add %o2, %o3, %o0 25034060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o3_plus_1_fp) 25134060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o3_plus_4_fp) 25234060b8fSBabu Moger add %o3, 4, %o3 25334060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 25434060b8fSBabu Moger add %o2, %o3, %o0 25534060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o3_plus_4_fp) 2561ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_fp) 257de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 258de5c073eSBabu Moger add %o2, %o4, %o0 2591ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_fp) 2601ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_8_fp) 261de5c073eSBabu Moger add %o4, 8, %o4 262de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 263de5c073eSBabu Moger add %o2, %o4, %o0 2641ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_8_fp) 2651ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_16_fp) 266de5c073eSBabu Moger add %o4, 16, %o4 267de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 268de5c073eSBabu Moger add %o2, %o4, %o0 2691ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_16_fp) 2701ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_24_fp) 271de5c073eSBabu Moger add %o4, 24, %o4 272de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 273de5c073eSBabu Moger add %o2, %o4, %o0 2741ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_24_fp) 2751ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_32_fp) 276de5c073eSBabu Moger add %o4, 32, %o4 277de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 278de5c073eSBabu Moger add %o2, %o4, %o0 2791ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_32_fp) 2801ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_40_fp) 281de5c073eSBabu Moger add %o4, 40, %o4 282de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 283de5c073eSBabu Moger add %o2, %o4, %o0 2841ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_40_fp) 2851ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_48_fp) 286de5c073eSBabu Moger add %o4, 48, %o4 287de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 288de5c073eSBabu Moger add %o2, %o4, %o0 2891ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_48_fp) 2901ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_56_fp) 291de5c073eSBabu Moger add %o4, 56, %o4 292de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 293de5c073eSBabu Moger add %o2, %o4, %o0 2941ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_56_fp) 2951ab32693SBabu MogerENTRY(memcpy_retl_o2_plus_o4_plus_64_fp) 296de5c073eSBabu Moger add %o4, 64, %o4 297de5c073eSBabu Moger ba,pt %xcc, __restore_asi_fp 298de5c073eSBabu Moger add %o2, %o4, %o0 2991ab32693SBabu MogerENDPROC(memcpy_retl_o2_plus_o4_plus_64_fp) 30034060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_fp) 30134060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 30234060b8fSBabu Moger add %o2, %o5, %o0 30334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_fp) 30434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_64_fp) 30534060b8fSBabu Moger add %o5, 64, %o5 30634060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 30734060b8fSBabu Moger add %o2, %o5, %o0 30834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_64_fp) 30934060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_56_fp) 31034060b8fSBabu Moger add %o5, 56, %o5 31134060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 31234060b8fSBabu Moger add %o2, %o5, %o0 31334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_56_fp) 31434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_48_fp) 31534060b8fSBabu Moger add %o5, 48, %o5 31634060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 31734060b8fSBabu Moger add %o2, %o5, %o0 31834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_48_fp) 31934060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_40_fp) 32034060b8fSBabu Moger add %o5, 40, %o5 32134060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 32234060b8fSBabu Moger add %o2, %o5, %o0 32334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_40_fp) 32434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_32_fp) 32534060b8fSBabu Moger add %o5, 32, %o5 32634060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 32734060b8fSBabu Moger add %o2, %o5, %o0 32834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_32_fp) 32934060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_24_fp) 33034060b8fSBabu Moger add %o5, 24, %o5 33134060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 33234060b8fSBabu Moger add %o2, %o5, %o0 33334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_24_fp) 33434060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_16_fp) 33534060b8fSBabu Moger add %o5, 16, %o5 33634060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 33734060b8fSBabu Moger add %o2, %o5, %o0 33834060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_16_fp) 33934060b8fSBabu MogerENTRY(memcpy_retl_o2_plus_o5_plus_8_fp) 34034060b8fSBabu Moger add %o5, 8, %o5 34134060b8fSBabu Moger ba,pt %xcc, __restore_asi_fp 34234060b8fSBabu Moger add %o2, %o5, %o0 34334060b8fSBabu MogerENDPROC(memcpy_retl_o2_plus_o5_plus_8_fp) 344de5c073eSBabu Moger 345de5c073eSBabu Moger#endif 346