Lines Matching refs:ld
670 emulate_load_updates (update_t type, load_store_t ld, struct pt_regs *regs, unsigned long ifa) in emulate_load_updates() argument
678 if (ld.x6_op == 1 || ld.x6_op == 3) { in emulate_load_updates()
699 imm = ld.x << 7 | ld.imm; in emulate_load_updates()
704 if (ld.m) imm |= SIGN_EXT9; in emulate_load_updates()
712 setreg(ld.r3, ifa, 0, regs); in emulate_load_updates()
714 DPRINT("ld.x=%d ld.m=%d imm=%ld r3=0x%lx\n", ld.x, ld.m, imm, ifa); in emulate_load_updates()
716 } else if (ld.m) { in emulate_load_updates()
736 getreg(ld.imm, &r2, &nat_r2, regs); in emulate_load_updates()
743 setreg(ld.r3, ifa, nat_r2, regs); in emulate_load_updates()
745 DPRINT("imm=%d r2=%ld r3=0x%lx nat_r2=%d\n",ld.imm, r2, ifa, nat_r2); in emulate_load_updates()
751 emulate_load_int (unsigned long ifa, load_store_t ld, struct pt_regs *regs) in emulate_load_int() argument
753 unsigned int len = 1 << ld.x6_sz; in emulate_load_int()
770 DPRINT("unknown size: x6=%d\n", ld.x6_sz); in emulate_load_int()
776 setreg(ld.r1, val, 0, regs); in emulate_load_int()
781 if (ld.op == 0x5 || ld.m) in emulate_load_int()
782 emulate_load_updates(ld.op == 0x5 ? UPD_IMMEDIATE: UPD_REG, ld, regs, ifa); in emulate_load_int()
859 if (ld.x6_op == 0x5 || ld.x6_op == 0xa) in emulate_load_int()
865 if (ld.x6_op == 0x2) in emulate_load_int()
866 invala_gr(ld.r1); in emulate_load_int()
872 emulate_store_int (unsigned long ifa, load_store_t ld, struct pt_regs *regs) in emulate_store_int() argument
875 unsigned int len = 1 << ld.x6_sz; in emulate_store_int()
883 getreg(ld.imm, &r2, NULL, regs); in emulate_store_int()
896 DPRINT("unknown size: x6=%d\n", ld.x6_sz); in emulate_store_int()
911 if (ld.op == 0x5) { in emulate_store_int()
917 imm = ld.x << 7 | ld.r1; in emulate_store_int()
921 if (ld.m) imm |= SIGN_EXT9; in emulate_store_int()
929 setreg(ld.r3, ifa, 0, regs); in emulate_store_int()
940 if (ld.x6_op == 0xd) in emulate_store_int()
1021 emulate_load_floatpair (unsigned long ifa, load_store_t ld, struct pt_regs *regs) in emulate_load_floatpair() argument
1025 unsigned long len = float_fsz[ld.x6_sz]; in emulate_load_floatpair()
1045 if (ld.x6_op != 0x2) { in emulate_load_floatpair()
1054 DPRINT("ld.r1=%d ld.imm=%d x6_sz=%d\n", ld.r1, ld.imm, ld.x6_sz); in emulate_load_floatpair()
1060 switch( ld.x6_sz ) { in emulate_load_floatpair()
1086 setfpreg(ld.r1, &fpr_final[0], regs); in emulate_load_floatpair()
1087 setfpreg(ld.imm, &fpr_final[1], regs); in emulate_load_floatpair()
1094 if (ld.m) { in emulate_load_floatpair()
1107 if (ld.x6_op == 1 || ld.x6_op == 3) in emulate_load_floatpair()
1111 setreg(ld.r3, ifa, 0, regs); in emulate_load_floatpair()
1117 if (ld.x6_op == 0x2) { in emulate_load_floatpair()
1118 invala_fr(ld.r1); in emulate_load_floatpair()
1119 invala_fr(ld.imm); in emulate_load_floatpair()
1126 emulate_load_float (unsigned long ifa, load_store_t ld, struct pt_regs *regs) in emulate_load_float() argument
1130 unsigned long len = float_fsz[ld.x6_sz]; in emulate_load_float()
1151 if (ld.x6_op != 0x2) { in emulate_load_float()
1155 DPRINT("ld.r1=%d x6_sz=%d\n", ld.r1, ld.x6_sz); in emulate_load_float()
1160 switch( ld.x6_sz ) { in emulate_load_float()
1182 setfpreg(ld.r1, &fpr_final, regs); in emulate_load_float()
1188 if (ld.op == 0x7 || ld.m) in emulate_load_float()
1189 emulate_load_updates(ld.op == 0x7 ? UPD_IMMEDIATE: UPD_REG, ld, regs, ifa); in emulate_load_float()
1194 if (ld.x6_op == 0x2) in emulate_load_float()
1195 invala_fr(ld.r1); in emulate_load_float()
1202 emulate_store_float (unsigned long ifa, load_store_t ld, struct pt_regs *regs) in emulate_store_float() argument
1206 unsigned long len = float_fsz[ld.x6_sz]; in emulate_store_float()
1220 getfpreg(ld.imm, &fpr_init, regs); in emulate_store_float()
1226 switch( ld.x6_sz ) { in emulate_store_float()
1240 DPRINT("ld.r1=%d x6_sz=%d\n", ld.r1, ld.x6_sz); in emulate_store_float()
1254 if (ld.op == 0x7) { in emulate_store_float()
1260 imm = ld.x << 7 | ld.r1; in emulate_store_float()
1264 if (ld.m) in emulate_store_float()
1273 setreg(ld.r3, ifa, 0, regs); in emulate_store_float()