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

    <tr>
        <th>Summary</th>
        <td>
            `fp128` arguments cause a compiler error on `powerpc64-ibm-aix`
        </td>
    </tr>

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

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

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

<pre>
    For instance, compiling the following IR with `llc -mcpu=pwr7 -mtriple=powerpc64-ibm-aix` ([compiler explorer](https://godbolt.org/z/ndqPc48Pz)):
```llvm
define void @f(fp128) {
    ret void
}
```
results in the following error message:
```
LLVM ERROR: f128 is unimplemented on AIX.
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-assertions-trunk/bin/llc -o /app/output.s -x86-asm-syntax=intel -mcpu=pwr7 -mtriple=powerpc64-ibm-aix <source>
1.      Running pass 'Function Pass Manager' on module '<source>'.
2.      Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@f'
 #0 0x0000000003a91e78 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x3a91e78)
 #1 0x0000000003a8f5ec SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f5cd5642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007f5cd56969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x00007f5cd5642476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x00007f5cd56287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x000000000072c143 (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x72c143)
 #7 0x00000000039e1298 (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x39e1298)
 #8 0x00000000019d7726 CC_AIX(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&) PPCISelLowering.cpp:0:0
 #9 0x000000000284cc2f llvm::CCState::AnalyzeFormalArguments(llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x284cc2f)
#10 0x00000000019d7c1e llvm::PPCTargetLowering::LowerFormalArguments_AIX(llvm::SDValue, unsigned int, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::SDLoc const&, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x19d7c1e)
#11 0x00000000037823a4 llvm::SelectionDAGISel::LowerArguments(llvm::Function const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x37823a4)
#12 0x000000000384b11d llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x384b11d)
#13 0x000000000384bd91 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x384bd91)
#14 0x0000000001997587 (anonymous namespace)::PPCDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) PPCISelDAGToDAG.cpp:0:0
#15 0x000000000383caaf llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x383caaf)
#16 0x0000000002a40509 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#17 0x00000000030281d3 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x30281d3)
#18 0x0000000003028411 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x3028411)
#19 0x0000000003028c55 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x3028c55)
#20 0x00000000008431cc compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#21 0x0000000000733a5e main (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x733a5e)
#22 0x00007f5cd5629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#23 0x00007f5cd5629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#24 0x0000000000839d0e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x839d0e)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMWF1v4roW_TXmxQI5zvcDDymUXqRWB5WqOm-VcTYht46daztTOr_-ykmghDJnpuegoxkxKjj22mvtD9vZzJiykABTFN6gcD5ijd0pPd0AWA1gRhuVv08XSuNSGsskB0RnmKuqLkUpC2x3gLdKCPXmfi0f8VtpdxhFRAiOxxWvG-TP6zcd43FldVkLcL_VG-iaR8G43FRjVu5RRDCiCQpvOmTQGPa1UBo0CueIJjtra4P8DNEFootC5Rsl7ETpAtHFd0QXMv_figfJ6juiqfv4GSJzRDIUke4jxLeqG8phW0rA31SZYxSQLaLJtvZogmiKUXzTTcIYYw22ndUjxfMzyO6nBtMIa3Apz3wBWiuNKzCGFfCZUPfz_v75Ad8-Pv7xiPwMbz2a4NLgRpZVLaACaSHHSuJs-eekW7C6v83Wt9g0m6q0mOFNU2ANtdIWW4XP3FTaXbOZcFUhumgd0P0Z11r9F7hFdFEa04BBdIGZzHEpuWhyaIVwzcwObxh_tZpx6M2vLeOvOG-q-qiITBBJV1oVmlWY6aJxtB0JjOhC1c7KIajjY1DpggsmizEzBrQtlTRjqxv5iuhiU8qWJ8dj5SBYXTugxtaNnRg83ifRmJlqbN6lZXvkz0tpQfx6rmHkz4xqNAfk33YSPCfhsZHSxa1mxmBE40UjuWOGV27ggUlWOOKxi0el8kaAmzUAo3HvJnoJcOWYrGZ4nt2NkX87z-7wilkLWuKlNFY3nbk1CGi_9ba2Bx7OWpuvcZ-jiPoEkz05_PNZ6kGc4DbUfob8zLyb7stKl9K2wXty0UQ0-Zik2duLMlYDqxCNXHmX0rbV4IriH4UQ0Ruy72m5sjzy9oa8k20IHK_LQjLxHyZz4fCTnkY3bCa8dklH2v9HINoDxduQ52EU0JCSnrgoN4gu9kn0EgVjUcpmPy5k0z3gE6MmUUuvXTIg5w8x0yjdclzbnQaWv7yWQnzNQLt-YCA4Jx3EES5Mq_Or5IM4GmCHQ2yaxFsfs43bIL6E3C4cIEenMSMx5V7gXytHOrSBuXiQIil4NE2ulpId3MBecmrPS_M4phGezV6y5Z-IJo1sj8m8q43ZSY09PD_9ZGA2e2Yia8_ZbuBe8aXcquGs5Xrefcl0sRCsME_v5zBryyy0NZri1Wq2XIO4d5tKKYvL1ZGeaqJJwDndXkDszEom3r_DQumKiey4j5_uFOuKCfEM3Cq9rGqB_NkF-ktZNzbTBfJvMVfS2H5T2SjVJ3fWHtK_nUuvuOX1rj7ml9vxyHl-cQ9OqKxWsyemC7CHiB50vYE-i0mfkidxmT8z0bQ3s3OnOq8PNf-jIJ7avFf8R88OR9g8u_v88C_sH4S4s7TN8hb_WlHpnT6IyvAgihPqs-AHSly5nQTlcokcbw0fnrneQdrRG_CnA_5JsPG8_Kf8u9FMiBtmSn4jFH_9F1V0JAcq_HMVeer9VIVu5B_ygfFdKeFAeKDi07Nry8hTbyAjGJZ4GodJ7OwxqeR7pRqDJavA1O0NLD3W_Ty7e1LXkNafCQe8z2eCIxkOfe1zxrZ_4et7KBh__z083nIdeHxwJ6EsICFJ8Q_5uJv8iZKLEj5zn9RM24m7IuILeJedPLy8EJp4uX_Ca7FySw_vFF9mdBVvdqQG3kzOWQee9wusH9q3oWEi9EPXZhx4w4pLzxnzMDxhLE6S94R7d-70_P8V3jwMT3nTwWWAJIHvcd53VeDoTr5jur0tZcMT9P7--WGmpIX9YWsWgl_MQ-oN7-y-z0LAFSvl1S7uLeRA29krGU3z9IuvZO2SAaZ_jgkBwS8vbtmLsUzblxNRv2wFgqGVYBgVP80J4A7_Wv7qQI9WD30TC7oqJbOQdw207l0Q-RleL-_Wt3fP3fTZoTumwTZaQu5meH561lsa5VM_T_2UjWDqxZSGfpJQOtpNo5D6ub-NfWBpkrJ4A2QbUgZ5GnvMy-monFJCA5IQz0sJ8cKJzyJOQkY3MQW6JR4KCFSsFBOXjhOli1HbQpp6xAuDcCTYBoRpe4mUSnjD7VNEKQrnIz1tu0-bpjAoIKI01nzA2NIKmKKIdM24iHz0kjBnjQHM8EdzsO2tKYlRRC41E0eNFtO_3wzrxXyb0v8HAAD____VZdw">