There is no requirement for compilers to be deterministic. The requirement is that a compiler produces something that is valid interpretation of the program according to the language specification, but unspecified details (like specific ordering of instructions in the resulting code) could in principle be chosen nondeterministically and be different in separate executions of the compiler.
We are not talking about deterministic instructions, we are talking about deterministic behavior.
UB is actually a big deal, and is avoided for a reason.
I couldn't in my life guess what CC would do in response to "implement login form".
For all I know CC's response could depend on time of day or Anthropic's electricity bill last month more, than on the existing code in my app, and the specific wording I use.
I do not talk about UBs, compiler can be non-deterministic even for completely valid and well-specified source code.
Seems to me that people just confuse determinism with soundness.
Determinism is just whether the output of the tool (machine code) is determined by the input (source code), i.e., for one input always returns the same output.
Soundness means that output is always consistent with the semantics of the input. i.e. returned machine code always does what is specified by the source code.
Compilers can be non-deterministic (although usually are deterministic), but they are always sound (ignoring compiler bugs).
LLMs can be deterministic (although usually aren't), but they are not sound in general.