<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/140445>140445</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [arm] Cannot select `i32 = setcc 0x00000000, Constant:i64`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Urgau
      </td>
    </tr>
</table>

<pre>
    I'm seeing an error when trying to use `llvm.minimum.f64` and `llvm.maximum.f64` on arm (32bits).

```llvm
define double @call_maximum_fp128(double %x, double %y) unnamed_addr #1 {
start:
 %0 = tail call double @llvm.maximum.f64(double %x, double %y)
  ret double %0
}

declare double @llvm.maximum.f64(double, double)

attributes #1 = { inlinehint uwtable "target-cpu"="generic" "target-features"="+strict-align,+v6,+vfp2,-d32" }
```

```
LLVM ERROR: Cannot select: 0xa8483e8: i32 = setcc 0xa8480a0, Constant:i64<-9223372036854775808>, seteq:ch
  0xa8480a0: i64 = build_pair 0xa845d50, 0xa845d50:1
    0xa845d50: i32,i32 = ARMISD::VMOVRRD 0xa844fb8
 0xa844fb8: f64,ch = CopyFromReg 0xa7be670, Register:f64 %1
 0xa844f40: f64 = Register %1
    0xa845d50: i32,i32 = ARMISD::VMOVRRD 0xa844fb8
      0xa844fb8: f64,ch = CopyFromReg 0xa7be670, Register:f64 %1
 0xa844f40: f64 = Register %1
  0xa845dc8: i64 = Constant<-9223372036854775808>
In function: _ZN4core3f6421_$LT$impl$u20$f64$GT$7minimum17h4fb5294b0f68c019E
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o /app/output.s -x86-asm-syntax=intel <source>
1.      Running pass 'Function Pass Manager' on module '<source>'.
2.      Running pass 'ARM Instruction Selection' on function '@"_ZN4core3f6421_$LT$impl$u20$f64$GT$7minimum17h4fb5294b0f68c019E"'
 #0 0x0000000003b5e828 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3b5e828)
 #1 0x0000000003b5c3e4 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007dd7d7a42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007dd7d7a969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x00007dd7d7a42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x00007dd7d7a287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x0000000000786212 llvm::UniqueStringSaver::save(llvm::Twine const&) (.cold) StringSaver.cpp:0:0
 #7 0x0000000003904d28 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3904d28)
 #8 0x000000000390b099 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x390b099)
 #9 0x00000000013f7229 (anonymous namespace)::ARMDAGToDAGISel::Select(llvm::SDNode*) ARMISelDAGToDAG.cpp:0:0
#10 0x0000000003902214 llvm::SelectionDAGISel::DoInstructionSelection() (/opt/compiler-explorer/clang-trunk/bin/llc+0x3902214)
#11 0x0000000003910d22 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/opt/compiler-explorer/clang-trunk/bin/llc+0x3910d22)
#12 0x000000000391369a llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x391369a)
#13 0x0000000003915576 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3915576)
#14 0x0000000001400574 (anonymous namespace)::ARMDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) ARMISelDAGToDAG.cpp:0:0
#15 0x0000000003901d91 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3901d91)
#16 0x0000000002bc6988 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#17 0x00000000031469e2 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x31469e2)
#18 0x0000000003146c71 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3146c71)
#19 0x00000000031485d9 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x31485d9)
#20 0x00000000008c0c2f compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#21 0x000000000079b3be main (/opt/compiler-explorer/clang-trunk/bin/llc+0x79b3be)
#22 0x00007dd7d7a29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#23 0x00007dd7d7a29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#24 0x00000000008b86f5 _start (/opt/compiler-explorer/clang-trunk/bin/llc+0x8b86f5)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```

https://llvm.godbolt.org/z/jjTh6nYd5


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEWN1y4ygWfhpyQ9mFAP1d-EKx42yqkpkuu6erZm9cCCGZbgk0CCXOPv0WyI4sd2bT6c7uppyyBZzvfOeHcxCs62SlhFiA8BqEqyvW2702iz9MxfqrXBfPizuA4wZ2QkhVQaagMEYb-LQXClrz7Aathn0nIIhQXT8280Yq2fTNvIwoiBBkqhin2OF8SivITAMBTgjOpe0ATucAZe4ToeHjxADKClFKJWCh-7wWEFDEWV3vjnC7sg1wAnBymsbhAeAlHB-fAU5hrxRrRLFjRWEgwCSAIL4GKOssMxYQp9atRRCQFbRM1tApOdP5nQlvaHSA0Ah7NoycbfFqMLIQvGZG_IiGEXzABShj1hqZ91Z0R2PIyhkEpaqlEnupLOyfLBsUY8tMJeyMtz3AGJAVwLgSShjJAcZnC0rBbG9E97IK4OvOGsntjNWyUgAvAb5-jI7fZYsBXs4Kgj3MYNkpdhehBCi7v__yAG82m983gGRwyZTSFnaiFtwFAKIDS2hCROIeJMHepk5Yzo9TiCHniaVWnWXKyciIArKcpRgTEmNEoiSkcRwmKAHkxq3thBV_AZLxvQ_HiONURNSryHtZF7uWSTPMh0Xo9YwPJAu8OJyMOY4AL09Ms83D3XblMolkXx5-_7LZrIbltMwTJz4-kAz68C753osudfu8NrrZiMqtinMRxZ7CRlSys8IAkpWOLQ6DMySKjkge5LT2ZdUv0oUvAP9LzkfGPDmP0Bjxv401yu4ULHvFrdTKye7--Rvl2ghSRhQHO4Dp_WeAqWzaGmDaYwQw9QbRWzceH-tWEO9pmYc4pTkqo4SjIHXgn-5vsu0N7Pq8kRYymPcVNKLVxrr6t7e27Zwr8RrgdSXtvs_nXDcAr30FG75mrdFfXa7jtey63u2yta-PUvG6LwS0ewG5Yd0e5ox_s4Zx4Qri1jL-DRZ90w5lCs0BSj8ZXRnWQGaqvhHKOvUQ4LVuHT7XTStrYWbi0NbaCOPGaqaqmTW9-gbwOpfK0-Jwpp0ca1sn3du2t_MOzg5JNGNdM-uelWUHQFZSWVFDQJad7g0Xg88DR2XTK-UaQcs6V4zi9TEK8JMbeGCKVY5A7Ap-o4vel6R4goRjZyh-DS3bPMA71VnTD6BbXy9ckAfEU8w9JkUA44-MvKuA8dAaCILogE5_JA9FghPo4-s3UffcDT8-GamsD9pnF0KAk3GRYU873VkjWAOwK6NQKuvaE3At7P3RA_gaHY5cjj3Ht4MpU04EhVtZKVb_g6midoiJV7yEnaykKvXOApy550ctC_8zPUp0c966zEP-f1CAjwriooiLmFEcYnQ0oZY5wOtDEu0iOqul6g-zSvXDBJ93eh55zl5kZEymgGmUlhy2dm8EK3bfZF2_D93Lj-j0ki6NI1h13rz30qZxNAKHU2CcxCWBLHdl4V2wXnCEjc7jh-IkwgE-y7Q_lPyrF1trpKq27NGXWpeA7HGabJ-f3KmJu-Lpk81n2ZzruvDRHeVfiXA8SaEU0WKS7C-7cJXd3m1FPYwOLf1PYYfpCZnt6jddiGNm_VK2D2RGbyUXVHOUpm9SHUaXuhBL3TSumrzOdQl75c_IBeR7Zk7enM58xB4eeI9WpedWBaSM8aCBKa2eG9130J1nu9ZXmHTgnW0eVtntZ_2KpX8fC38QEPVJ8CIXXDVBFw7GOKBvOnilz6r2WdFOPsBTjsDxJIxJMK12aYAKjN9OVV2IW6EyVdw00q6y2w9h5nWPzPAFMxKl7AczM6vra9ZJfl1r_q2bRO-lv17s7F_h7ZiNvMkF7zCMozd5m179rh4Y30slThQnvL-b-wjijtpInE42DUUojOlPbZqfNObtvRRe7KWgSIP_4Np7UTH-_H90sCc4OnjSmXDOozQ5bwsXDNwB8Iz7q6S_ZztvmbFzdziAr-C94tNprwpolIrzArD-5ORO59B30_l55w1MRucllzx5HPwAzwd_Zp5G-jj0IRx5fBbg9IJjEhbnzbQ-y8cztnfubH1i_F9j6ri8MMWTroQSjjgu4RH1xWWuZ_s-5xv2SOv-_svDUisrDqcCWtf8-9TCwfQkluYkF7BhUv2SLQPOaMrFcRqnRfrO47QXGQHJJaCgCO52TmbnL7x2Zzb8sApBz1TQqfvzJCpDOID_km8GpEHP6SXXCtNIxawo4JO0ezic3N0b7_budntz-wWgbHnUA42wvVGicNMBSb-_kpq-rftLt0oXua7tXJsK4PW_AF5__fp5H6k_i3CQuSoWpEhJyq7EIohpHEY0Quhqv4h5TiKeshKXuQgSXEYpD1EYJiwtRRQEV3KBEQ5RGCQBIhFF85ARQmnMYxrGSGAEKBINk_XcM9GmuvK3A4uAIkrDq5rlou78BS3GSjxBP-teTMPVlVn4i4W8rzpAUS07240wVtra3-wy04BwNb1wgyBCl3dsp2C-cskWoave1Iufv-g4WvO4wP8OAAD__55soaw">