diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2015-01-15 14:43:24 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2015-01-16 22:49:40 +1100 |
| commit | 9e83ae931c802608962fb5f9c90220d80d2eaa1c (patch) | |
| tree | 25716e4e9272f8cfc81434e56cd81193ede1a71c | |
| parent | 7d4f358de7de97b443a97e1f18a16781d472bbda (diff) | |
| download | rust-9e83ae931c802608962fb5f9c90220d80d2eaa1c.tar.gz rust-9e83ae931c802608962fb5f9c90220d80d2eaa1c.zip | |
Put vector types in regs for arm & mips FFI.
This seems to match what clang does on arm, but I cannot do any experimentation with mips, but it matches how the LLVM intrinsics are defined in any case...
| -rw-r--r-- | src/librustc_trans/trans/cabi_aarch64.rs | 3 | ||||
| -rw-r--r-- | src/librustc_trans/trans/cabi_arm.rs | 3 | ||||
| -rw-r--r-- | src/librustc_trans/trans/cabi_mips.rs | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/librustc_trans/trans/cabi_aarch64.rs b/src/librustc_trans/trans/cabi_aarch64.rs index 3485e29707a..0d8ef9e2fc9 100644 --- a/src/librustc_trans/trans/cabi_aarch64.rs +++ b/src/librustc_trans/trans/cabi_aarch64.rs @@ -139,7 +139,8 @@ fn is_reg_ty(ty: Type) -> bool { Integer | Pointer | Float - | Double => true, + | Double + | Vector => true, _ => false } } diff --git a/src/librustc_trans/trans/cabi_arm.rs b/src/librustc_trans/trans/cabi_arm.rs index 13c70875f68..7d1a8ab1452 100644 --- a/src/librustc_trans/trans/cabi_arm.rs +++ b/src/librustc_trans/trans/cabi_arm.rs @@ -169,7 +169,8 @@ fn is_reg_ty(ty: Type) -> bool { Integer | Pointer | Float - | Double => true, + | Double + | Vector => true, _ => false } } diff --git a/src/librustc_trans/trans/cabi_mips.rs b/src/librustc_trans/trans/cabi_mips.rs index 70b29b5fb75..776be8855cb 100644 --- a/src/librustc_trans/trans/cabi_mips.rs +++ b/src/librustc_trans/trans/cabi_mips.rs @@ -123,7 +123,8 @@ fn is_reg_ty(ty: Type) -> bool { Integer | Pointer | Float - | Double => true, + | Double + | Vector => true, _ => false }; } |
