gen_exp had code to handle the 'L' operand format. But this format is specifically for location_ts, which are only used in RTX_INSNs. Those should never occur in this context, where the input is always an md file rather than an __RTL function. Any hard-coded raw location value would be meaningless anyway.
It seemed safer to turn this into an error rather than a gcc_unreachable. gcc/ * genemit.cc (generator::gen_exp): Raise an error if we see an 'L' operand. --- gcc/genemit.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/genemit.cc b/gcc/genemit.cc index a7e49a24506..3636a555aad 100644 --- a/gcc/genemit.cc +++ b/gcc/genemit.cc @@ -270,7 +270,8 @@ generator::gen_exp (rtx x) break; case 'L': - fprintf (file, "%llu", (unsigned long long) XLOC (x, i)); + fatal_at (info.loc, "'%s' rtxes are not supported in this context", + GET_RTX_NAME (code)); break; case 'r': -- 2.43.0