Zig Version
0.16.0-dev.3153+d6f43caad
Steps to Reproduce and Observed Behavior
Extracted from #31856 (comment)
Compile any Zig file (can be empty) with -mcpu=baseline+soft_float for x86_64 to be met with the following:
$ zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
LLVM ERROR: Do not know how to soften the result of this operator!
Aborted (core dumped)
$ ] compiler_rt
└─ [2528/2528] Linking
└─ LLVM Emit Object
[797] Semantic Analysis
└─ process.SpawnOptions
I tried versions dating back to 0.11.0 and consistently got a crash on all of them. It looks like 0.14.1 has the most useful error message out of the releases:
$ zig version
0.14.1
$ zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
LLVM ERROR: Cannot select: 0x7fc9edf16950: i32 = X86ISD::CMP undef:i1, Constant:i1<0>, mulc3.zig:61:31 @[ mulxc3.zig:13:23 ]
0x7fc9ee69b7f0: i1 = undef
0x7fc9edd40240: i1 = Constant<0>
In function: __mulxc3
Aborted (core dumped) zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
Expected Behavior
The compiler shouldn't crash.
### Zig Version
0.16.0-dev.3153+d6f43caad
### Steps to Reproduce and Observed Behavior
Extracted from https://codeberg.org/ziglang/zig/issues/31856#issuecomment-13130376
Compile any Zig file (can be empty) with `-mcpu=baseline+soft_float` for x86_64 to be met with the following:
```sh-session
$ zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
LLVM ERROR: Do not know how to soften the result of this operator!
Aborted (core dumped)
$ ] compiler_rt
└─ [2528/2528] Linking
└─ LLVM Emit Object
[797] Semantic Analysis
└─ process.SpawnOptions
```
I tried versions dating back to 0.11.0 and consistently got a crash on all of them. It looks like 0.14.1 has the most useful error message out of the releases:
```sh-session
$ zig version
0.14.1
$ zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
LLVM ERROR: Cannot select: 0x7fc9edf16950: i32 = X86ISD::CMP undef:i1, Constant:i1<0>, mulc3.zig:61:31 @[ mulxc3.zig:13:23 ]
0x7fc9ee69b7f0: i1 = undef
0x7fc9edd40240: i1 = Constant<0>
In function: __mulxc3
Aborted (core dumped) zig build-exe minimal.zig -target x86_64-linux -mcpu=baseline+soft_float
```
### Expected Behavior
The compiler shouldn't crash.