Commit 499a259
committed
[Flang][LoongArch] Add support for complex16 params/returns.
In LoongArch64, the passing and returning of type `complex16` is similar
to that of structure type like `struct {fp128, fp128}`, meaning they are
passed and returned by reference. This behavior is similar to clang, so
it can implement conveniently `iso_c_binding`.
Additionally, this patch fixes the failure in flang test
Integration/debug-complex-1.f90:
```
llvm-project/flang/lib/Optimizer/codeGen/Target.cpp:56:
not yet implemented: complex for this precision for return type
```1 parent 29dfc18 commit 499a259
File tree
2 files changed
+17
-4
lines changed- flang
- lib/Optimizer/CodeGen
- test/Fir
2 files changed
+17
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1087 | 1087 | | |
1088 | 1088 | | |
1089 | 1089 | | |
1090 | | - | |
1091 | | - | |
| 1090 | + | |
1092 | 1091 | | |
1093 | 1092 | | |
1094 | 1093 | | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
1095 | 1101 | | |
1096 | 1102 | | |
1097 | 1103 | | |
| |||
1103 | 1109 | | |
1104 | 1110 | | |
1105 | 1111 | | |
1106 | | - | |
1107 | | - | |
| 1112 | + | |
1108 | 1113 | | |
1109 | 1114 | | |
1110 | 1115 | | |
1111 | 1116 | | |
1112 | 1117 | | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
1113 | 1125 | | |
1114 | 1126 | | |
1115 | 1127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
0 commit comments