diff options
| -rw-r--r-- | src/doc/book/ffi.md | 1 | ||||
| -rw-r--r-- | src/librustc_llvm/lib.rs | 1 | ||||
| -rw-r--r-- | src/librustc_trans/trans/foreign.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/abi.rs | 2 |
4 files changed, 7 insertions, 1 deletions
diff --git a/src/doc/book/ffi.md b/src/doc/book/ffi.md index c3896e4e9c5..e4a67112f18 100644 --- a/src/doc/book/ffi.md +++ b/src/doc/book/ffi.md @@ -478,6 +478,7 @@ are: * `aapcs` * `cdecl` * `fastcall` +* `vectorcall` * `Rust` * `rust-intrinsic` * `system` diff --git a/src/librustc_llvm/lib.rs b/src/librustc_llvm/lib.rs index e2217e367a0..fc7fa299fb8 100644 --- a/src/librustc_llvm/lib.rs +++ b/src/librustc_llvm/lib.rs @@ -85,6 +85,7 @@ pub enum CallConv { X86StdcallCallConv = 64, X86FastcallCallConv = 65, X86_64_Win64 = 79, + X86_VectorCall = 80 } #[derive(Copy, Clone)] diff --git a/src/librustc_trans/trans/foreign.rs b/src/librustc_trans/trans/foreign.rs index 9012ecaa213..6d264fc7813 100644 --- a/src/librustc_trans/trans/foreign.rs +++ b/src/librustc_trans/trans/foreign.rs @@ -35,7 +35,8 @@ use std::cmp; use std::iter::once; use libc::c_uint; use syntax::abi::{Cdecl, Aapcs, C, Win64, Abi}; -use syntax::abi::{PlatformIntrinsic, RustIntrinsic, Rust, RustCall, Stdcall, Fastcall, System}; +use syntax::abi::{PlatformIntrinsic, RustIntrinsic, Rust, RustCall, Stdcall}; +use syntax::abi::{Fastcall, Vectorcall, System}; use syntax::attr; use syntax::codemap::Span; use syntax::parse::token::{InternedString, special_idents}; @@ -104,6 +105,7 @@ pub fn llvm_calling_convention(ccx: &CrateContext, Stdcall => llvm::X86StdcallCallConv, Fastcall => llvm::X86FastcallCallConv, + Vectorcall => llvm::X86_VectorCall, C => llvm::CCallConv, Win64 => llvm::X86_64_Win64, diff --git a/src/libsyntax/abi.rs b/src/libsyntax/abi.rs index ca44dec627e..a16f232f4a1 100644 --- a/src/libsyntax/abi.rs +++ b/src/libsyntax/abi.rs @@ -39,6 +39,7 @@ pub enum Abi { Cdecl, Stdcall, Fastcall, + Vectorcall, Aapcs, Win64, @@ -85,6 +86,7 @@ const AbiDatas: &'static [AbiData] = &[ AbiData {abi: Cdecl, name: "cdecl" }, AbiData {abi: Stdcall, name: "stdcall" }, AbiData {abi: Fastcall, name: "fastcall" }, + AbiData {abi: Vectorcall, name: "vectorcall"}, AbiData {abi: Aapcs, name: "aapcs" }, AbiData {abi: Win64, name: "win64" }, |
