Lines Matching refs:gar
470 register defined by GAR in REGCACHE. GAR indicates the available
473 a7 and a0 respectively, that is to say, regnum is a7 if GAR is 1,
474 regnum is a6 if GAR is 2, regnum is a5 if GAR is 3, regnum is a4
475 if GAR is 4, regnum is a3 if GAR is 5, regnum is a2 if GAR is 6,
476 regnum is a1 if GAR is 7, regnum is a0 if GAR is 8. */
479 pass_in_gar (struct regcache *regcache, unsigned int gar, const gdb_byte *val)
481 unsigned int regnum = LOONGARCH_ARG_REGNUM - gar + LOONGARCH_A0_REGNUM;
646 unsigned int gar = LOONGARCH_ARG_REGNUM;
659 pass_in_gar (regcache, gar--, (gdb_byte *) &struct_addr);
681 /* integer or pointer type is passed in GAR.
682 If no GAR is available, it's passed on the stack.
689 if (gar > 0)
690 pass_in_gar (regcache, gar--, (gdb_byte *) &data);
697 if (gar > 0)
698 pass_in_gar (regcache, gar--, (gdb_byte *) &data);
709 /* long double type is passed in a pair of GAR,
715 If no GAR is available, it's passed on the stack. */
716 if (gar >= 2)
718 pass_in_gar (regcache, gar--, val);
719 pass_in_gar (regcache, gar--, val + regsize);
721 else if (gar == 1)
723 pass_in_gar (regcache, gar--, val);
739 long double data type is passed in an aligned GAR pair,
741 if (gar >= 2)
743 if (gar % 2 == 0)
745 pass_in_gar (regcache, gar--, val);
746 pass_in_gar (regcache, gar--, val + regsize);
750 gar--;
751 pass_in_gar (regcache, gar--, val);
752 pass_in_gar (regcache, gar--, val + regsize);
755 else if (gar == 1)
757 gar--;
769 If no FAR is available, it's passed in GAR.
770 If no GAR is available, it's passed on the stack. */
773 else if (gar > 0)
774 pass_in_gar (regcache, gar--, val);
800 passed in a GAR and an FAR if available. */
807 && far >= 1 && gar >= 1)))
823 pass_in_gar (regcache, gar--, val + member_offsets[1]);
827 pass_in_gar (regcache, gar--, val + member_offsets[0]);
837 /* If there is an available GAR,
838 the structure is passed through the GAR by value passing;
839 If no GAR is available, it's passed on the stack. */
840 if (gar > 0)
841 pass_in_gar (regcache, gar--, val);
850 If no FAR is available, the value is passed in a GAR.
851 if no GAR is available, the value is passed on the stack. */
856 else if (gar > 0)
857 pass_in_gar (regcache, gar--, val);
865 If the number of available FAR is less than 2, it's passed in a GAR,
866 and passed on the stack if no GAR is available. */
874 else if (gar > 0)
876 pass_in_gar (regcache, gar--, val);
888 If there are available GAR, the structure is passed in a GAR,
889 and passed on the stack if no GAR is available. */
892 if (gar > 0)
893 pass_in_gar (regcache, gar--, val);
898 If one FAR and one GAR are available,
900 and the fixed-point member of the structure is passed in the GAR.
901 If no floating-point register but one GAR is available, it's passed in GAR;
902 If no GAR is available, it's passed on the stack. */
905 if (!varargs && far > 0 && gar > 0)
910 pass_in_gar (regcache, gar--, val + align);
914 pass_in_gar (regcache, gar--, val);
920 if (gar > 0)
921 pass_in_gar (regcache, gar--, val);
933 /* The argument is passed in a pair of available GAR,
934 with the low-order bits in the lower-numbered GAR
935 and the high-order bits in the higher-numbered GAR.
936 If only one GAR is available,
937 the low-order bits are in the GAR
939 and passed on the stack if no GAR is available. */
940 if (gar >= 2)
942 pass_in_gar (regcache, gar--, val);
943 pass_in_gar (regcache, gar--, val + regsize);
945 else if (gar == 1)
947 pass_in_gar (regcache, gar--, val);
961 The argument is passed in a pair of available GAR,
962 with the low-order bits in the lower-numbered GAR
963 and the high-order bits in the higher-numbered GAR.
964 If only one GAR is available,
965 the low-order bits are in the GAR
967 and passed on the stack if no GAR is available. */
973 if (gar >= 2)
975 pass_in_gar (regcache, gar--, val);
976 pass_in_gar (regcache, gar--, val + regsize);
978 else if (gar == 1)
982 pass_in_gar (regcache, gar--, val);
987 gar--;
1002 it's passed in a pair of available GAR,
1003 with the low-order bits in the lower-numbered GAR
1004 and the high-order bits in the higher-numbered GAR.
1005 If only one GAR is available,
1006 the low-order bits are in the GAR
1008 GAR is available. */
1017 else if (gar >= 2)
1019 pass_in_gar (regcache, gar--, val);
1020 pass_in_gar (regcache, gar--, val + regsize);
1022 else if (gar == 1)
1024 pass_in_gar (regcache, gar--, val);
1039 /* If one FAR and one GAR are available,
1041 and the fixed-point member of the structure is passed in the GAR;
1044 If only one GAR is available,
1045 the low-order bits are in the GAR
1047 And it's passed on the stack if no GAR is available. */
1048 if (!varargs && far > 0 && gar > 0)
1053 pass_in_gar (regcache, gar--, val + regsize);
1057 pass_in_gar (regcache, gar--, val);
1061 else if ((!varargs && far == 0 && gar >= 2) || (varargs && gar >= 2))
1063 pass_in_gar (regcache, gar--, val);
1064 pass_in_gar (regcache, gar--, val + regsize);
1066 else if ((!varargs && far == 0 && gar == 1) || (varargs && gar == 1))
1068 pass_in_gar (regcache, gar--, val);
1071 else if ((!varargs && far == 0 && gar == 0) || (varargs && gar == 0))
1078 /* The argument is passed in a pair of available GAR,
1079 with the low-order bits in the lower-numbered GAR
1080 and the high-order bits in the higher-numbered GAR.
1081 If only one GAR is available,
1082 the low-order bits are in the GAR
1084 and passed on the stack if no GAR is available. */
1085 if (gar >= 2)
1087 pass_in_gar (regcache, gar--, val);
1088 pass_in_gar (regcache, gar--, val + regsize);
1090 else if (gar == 1)
1092 pass_in_gar (regcache, gar--, val);
1105 If there is an available GAR, the reference is passed in the GAR,
1106 and passed on the stack if no GAR is available. */
1110 if (gar > 0)
1111 pass_in_gar (regcache, gar--, (const gdb_byte *) &sp);
1118 /* Union is passed in GAR or stack. */
1121 /* The argument is passed in a GAR,
1122 or on the stack by value if no GAR is available. */
1123 if (gar > 0)
1124 pass_in_gar (regcache, gar--, val);
1130 /* The argument is passed in a pair of available GAR,
1131 with the low-order bits in the lower-numbered GAR
1132 and the high-order bits in the higher-numbered GAR.
1133 If only one GAR is available,
1134 the low-order bits are in the GAR
1136 The arguments are passed on the stack when no GAR is available. */
1137 if (gar >= 2)
1139 pass_in_gar (regcache, gar--, val);
1140 pass_in_gar (regcache, gar--, val + regsize);
1142 else if (gar == 1)
1144 pass_in_gar (regcache, gar--, val);
1155 If there is an available GAR, the reference is passed in the GAR,
1156 and passed on the stack if no GAR is available. */
1160 if (gar > 0)
1161 pass_in_gar (regcache, gar--, (const gdb_byte *) &sp);
1177 If the number of available FAR is less than 2, it's passed in a GAR,
1178 and passed on the stack if no GAR is available. */
1184 else if (gar > 0)
1186 pass_in_gar (regcache, gar--, val);
1200 it's passed in a pair of available GAR,
1201 with the low-order bits in the lower-numbered GAR
1202 and the high-order bits in the higher-numbered GAR.
1203 If only one GAR is available,
1204 the low-order bits are in the GAR
1206 and passed on the stack if no GAR is available. */
1213 else if (gar >= 2)
1215 pass_in_gar (regcache, gar--, val);
1216 pass_in_gar (regcache, gar--, val + align);
1218 else if (gar == 1)
1220 pass_in_gar (regcache, gar--, val);
1233 If there is an available GAR, the reference is passed in the GAR,
1234 and passed on the stack if no GAR is available. */
1238 if (gar > 0)
1239 pass_in_gar (regcache, gar--, (const gdb_byte *) &sp);