1//===- IntrinsicsAArch64.td - Defines AArch64 intrinsics -----------*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines all of the AArch64-specific intrinsics. 11// 12//===----------------------------------------------------------------------===// 13 14//===----------------------------------------------------------------------===// 15// Advanced SIMD (NEON) 16 17let TargetPrefix = "aarch64" in { // All intrinsics start with "llvm.aarch64.". 18 19// Vector Absolute Compare (Floating Point) 20def int_aarch64_neon_vacgeq : Intrinsic<[llvm_v2i64_ty], 21 [llvm_v2f64_ty, llvm_v2f64_ty], 22 [IntrNoMem]>; 23def int_aarch64_neon_vacgtq : Intrinsic<[llvm_v2i64_ty], 24 [llvm_v2f64_ty, llvm_v2f64_ty], 25 [IntrNoMem]>; 26 27// Vector maxNum (Floating Point) 28def int_aarch64_neon_vmaxnm : Neon_2Arg_Intrinsic; 29 30// Vector minNum (Floating Point) 31def int_aarch64_neon_vminnm : Neon_2Arg_Intrinsic; 32 33// Vector Pairwise maxNum (Floating Point) 34def int_aarch64_neon_vpmaxnm : Neon_2Arg_Intrinsic; 35 36// Vector Pairwise minNum (Floating Point) 37def int_aarch64_neon_vpminnm : Neon_2Arg_Intrinsic; 38 39// Vector Multiply Extended (Floating Point) 40def int_aarch64_neon_vmulx : Neon_2Arg_Intrinsic; 41} 42