Skip to content

Commit 67aa4c7

Browse files
committed
Add some fancier AArch64 load/store instructions.
1 parent 7241ae9 commit 67aa4c7

File tree

2 files changed

+643
-1
lines changed

2 files changed

+643
-1
lines changed

src/etc/platform-intrinsics/aarch64.json

+42
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,48 @@
336336
"ret": "i8",
337337
"args": ["0"]
338338
},
339+
{
340+
"intrinsic": "ld2{0[0].width}_{0[0].data_type}",
341+
"width": [64, 128],
342+
"llvm": "ld2.{0[0].llvm_name}.{1.llvm_name}",
343+
"ret": ["[i(8-64);2]","[f(32-64);2]"],
344+
"args": ["0.0SPc/0.0"]
345+
},
346+
{
347+
"intrinsic": "ld3{0[0].width}_{0[0].data_type}",
348+
"width": [64, 128],
349+
"llvm": "ld3.{0[0].llvm_name}.{1.llvm_name}",
350+
"ret": ["[i(8-64);3]","[f(32-64);3]"],
351+
"args": ["0.0SPc/0.0"]
352+
},
353+
{
354+
"intrinsic": "ld4{0[0].width}_{0[0].data_type}",
355+
"width": [64, 128],
356+
"llvm": "ld4.{0[0].llvm_name}.{1.llvm_name}",
357+
"ret": ["[i(8-64);4]","[f(32-64);4]"],
358+
"args": ["0.0SPc/0.0"]
359+
},
360+
{
361+
"intrinsic": "ld2{0[0].width}_dup_{0[0].data_type}",
362+
"width": [64, 128],
363+
"llvm": "ld2.{0[0].llvm_name}.{1.llvm_name}",
364+
"ret": ["[i(8-64);2]","[f(32-64);2]"],
365+
"args": ["0.0SPc"]
366+
},
367+
{
368+
"intrinsic": "ld3{0[0].width}_dup_{0[0].data_type}",
369+
"width": [64, 128],
370+
"llvm": "ld3.{0[0].llvm_name}.{1.llvm_name}",
371+
"ret": ["[i(8-64);3]","[f(32-64);3]"],
372+
"args": ["0.0SPc"]
373+
},
374+
{
375+
"intrinsic": "ld4{0[0].width}_dup_{0[0].data_type}",
376+
"width": [64, 128],
377+
"llvm": "ld4.{0[0].llvm_name}.{1.llvm_name}",
378+
"ret": ["[i(8-64);4]","[f(32-64);4]"],
379+
"args": ["0.0SPc"]
380+
},
339381
{
340382
"intrinsic": "padd{0.width}_{0.data_type}",
341383
"width": [64, 128],

0 commit comments

Comments
 (0)