• Home
  • Raw
  • Download

Lines Matching refs:fau

48 fau_state_buffer(struct fau_state *fau, bi_index idx)  in fau_state_buffer()  argument
50 for (unsigned i = 0; i < ARRAY_SIZE(fau->buffer); ++i) { in fau_state_buffer()
51 if (bi_is_word_equiv(fau->buffer[i], idx)) in fau_state_buffer()
53 else if (bi_is_null(fau->buffer[i])) { in fau_state_buffer()
54 fau->buffer[i] = idx; in fau_state_buffer()
63 fau_state_uniform(struct fau_state *fau, bi_index idx) in fau_state_uniform() argument
70 if (fau->uniform_slot < 0) in fau_state_uniform()
71 fau->uniform_slot = slot; in fau_state_uniform()
73 return fau->uniform_slot == slot; in fau_state_uniform()
77 fau_is_special(enum bir_fau fau) in fau_is_special() argument
79 return !(fau & (BIR_FAU_UNIFORM | BIR_FAU_IMMEDIATE)); in fau_is_special()
83 fau_state_special(struct fau_state *fau, bi_index idx) in fau_state_special() argument
85 for (unsigned i = 0; i < ARRAY_SIZE(fau->buffer); ++i) { in fau_state_special()
86 bi_index buf = fau->buffer[i]; in fau_state_special()
97 valid_src(struct fau_state *fau, unsigned fau_page, bi_index src) in valid_src() argument
103 valid &= fau_state_buffer(fau, src); in valid_src()
106 valid &= fau_state_uniform(fau, src); in valid_src()
108 valid &= fau_state_special(fau, src); in valid_src()
117 struct fau_state fau = { .uniform_slot = -1 }; in va_validate_fau() local
121 valid &= valid_src(&fau, fau_page, I->src[s]); in va_validate_fau()
130 struct fau_state fau = { .uniform_slot = -1 }; in va_repair_fau() local
134 struct fau_state push = fau; in va_repair_fau()
137 if (!valid_src(&fau, fau_page, src)) { in va_repair_fau()
144 fau = push; in va_repair_fau()