Lines Matching defs:argpos
1266 required by the ABI, and update ARGPOS.
1274 struct ppc64_sysv_argpos *argpos)
1282 CORE_ADDR aligned_gparam = align_up (argpos->gparam, align);
1284 argpos->greg += (aligned_gparam - argpos->gparam) / tdep->wordsize;
1285 argpos->gparam = aligned_gparam;
1296 if (argpos->regcache)
1297 write_memory (argpos->gparam + offset, val, len);
1298 argpos->gparam = align_up (argpos->gparam + len, tdep->wordsize);
1302 if (argpos->regcache && argpos->greg <= 10)
1303 argpos->regcache->cooked_write (tdep->ppc_gp0_regnum + argpos->greg,
1305 argpos->greg++;
1312 if (argpos->regcache && argpos->greg <= 10)
1313 argpos->regcache->cooked_write_part
1314 (tdep->ppc_gp0_regnum + argpos->greg, offset, len, val);
1315 argpos->greg++;
1324 struct ppc64_sysv_argpos *argpos)
1330 if (argpos->regcache)
1332 ppc64_sysv_abi_push_val (gdbarch, buf, tdep->wordsize, 0, argpos);
1337 and update ARGPOS. */
1342 struct ppc64_sysv_argpos *argpos)
1353 if (argpos->regcache && argpos->freg <= 13)
1355 int regnum = tdep->ppc_fp0_regnum + argpos->freg;
1360 argpos->regcache->cooked_write (regnum, regval);
1363 argpos->freg++;
1370 if (argpos->regcache && argpos->freg <= 13)
1372 int regnum = tdep->ppc_fp0_regnum + argpos->freg;
1378 argpos->regcache->cooked_write_part (regnum, offset,
1382 argpos->freg++;
1390 if (argpos->regcache && argpos->freg <= 13)
1392 int regnum = tdep->ppc_fp0_regnum + argpos->freg;
1394 argpos->regcache->cooked_write (regnum, val);
1395 if (argpos->freg <= 12)
1396 argpos->regcache->cooked_write (regnum + 1, val + 8);
1399 argpos->freg += 2;
1406 argpos->freg += argpos->freg & 1;
1408 if (argpos->regcache && argpos->freg <= 12)
1410 int regnum = tdep->ppc_fp0_regnum + argpos->freg;
1414 argpos->regcache->cooked_write (regnum, val + hipart);
1415 argpos->regcache->cooked_write (regnum + 1, val + lopart);
1418 argpos->freg += 2;
1423 if required by the ABI, and update ARGPOS. */
1427 struct ppc64_sysv_argpos *argpos)
1431 if (argpos->regcache && argpos->vreg <= 13)
1432 argpos->regcache->cooked_write (tdep->ppc_vr0_regnum + argpos->vreg, val);
1434 argpos->vreg++;
1438 as required by the ABI, and update ARGPOS. */
1443 struct ppc64_sysv_argpos *argpos)
1453 ppc64_sysv_abi_push_val (gdbarch, val, type->length (), 16, argpos);
1454 ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
1460 ppc64_sysv_abi_push_val (gdbarch, val, type->length (), 0, argpos);
1461 ppc64_sysv_abi_push_freg (gdbarch, type, val, argpos);
1468 ppc64_sysv_abi_push_val (gdbarch, val, type->length (), 16, argpos);
1469 ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
1477 CORE_ADDR addr = align_up (argpos->refparam, 16);
1478 if (argpos->regcache)
1480 argpos->refparam = align_up (addr + type->length (), tdep->wordsize);
1483 ppc64_sysv_abi_push_integer (gdbarch, addr, argpos);
1495 if (argpos->regcache)
1519 ppc64_sysv_abi_push_integer (gdbarch, word, argpos);
1545 ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
1549 ppc64_sysv_abi_push_freg (gdbarch, type, val, argpos);
1572 ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
1579 ppc64_sysv_abi_push_freg (gdbarch, eltype, elval, argpos);
1585 ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
1591 ppc64_sysv_abi_push_val (gdbarch, val, type->length (), align, argpos);
1655 struct ppc64_sysv_argpos argpos;
1656 argpos.greg = 3;
1657 argpos.freg = 1;
1658 argpos.vreg = 2;
1666 argpos.regcache = NULL;
1667 argpos.gparam = 0;
1668 argpos.refparam = 0;
1675 argpos.regcache = regcache;
1676 argpos.refparam = align_down (sp - refparam_size, 16);
1677 argpos.gparam = align_down (argpos.refparam - gparam_size, 16);
1682 sp = align_down (argpos.gparam - 48, 16);
1684 sp = align_down (argpos.gparam - 32, 16);
1693 ppc64_sysv_abi_push_integer (gdbarch, struct_addr, &argpos);
1706 ppc64_sysv_abi_push_param (gdbarch, eltype, val, &argpos);
1708 val + eltype->length (), &argpos);
1729 ppc64_sysv_abi_push_param (gdbarch, eltype, elval, &argpos);
1735 ppc64_sysv_abi_push_param (gdbarch, type, val, &argpos);
1742 refparam_size = argpos.refparam;
1745 if (argpos.greg < 8)
1748 gparam_size = argpos.gparam;