Commit graph

95 commits

Author SHA1 Message Date
varkor
20eece1f77 Correct the return type for x86_mm256_sad_epu8
Fixes #43439.
2017-12-21 22:58:03 +00:00
bors
185cc5f26d Auto merge of #44885 - lu-zero:master, r=alexcrichton
More Altivec Intrinsics

Float-specific intrinsics
2017-10-02 17:18:20 +00:00
Luca Barbato
7bdf013a0e Add support for Vector Negative Multiply Subtract Float on PowerPC 2017-09-27 13:35:18 +00:00
Luca Barbato
e41381454b Add support for Vector Truncate on PowerPC 2017-09-27 13:33:32 +00:00
Luca Barbato
9dd3690017 Add support for Vector Round on PowerPC 2017-09-27 13:33:32 +00:00
Luca Barbato
3740d32446 Add support for Vector Ceiling on PowerPC 2017-09-27 13:33:32 +00:00
Luca Barbato
73dd6aecc4 Add support for Vector Reciprocal Square Root Estimate Float on PowerPC 2017-09-27 13:33:31 +00:00
Luca Barbato
8fb0bcb56f Add support for Vector Reciprocal Estimate Float on PowerPC 2017-09-27 13:33:31 +00:00
Luca Barbato
1206ae2b12 Add support for Vector Log2 Estimate Float on PowerPC 2017-09-27 13:33:31 +00:00
Luca Barbato
f52f1ab7e8 Add support for Vector Floor on PowerPC 2017-09-27 13:33:31 +00:00
Luca Barbato
03a2aea4e9 Add support for Vector 2 Raised to the Exponent Estimate Float on PowerPC 2017-09-27 13:33:27 +00:00
Luca Barbato
f6f828c670 Add support for Vector Multiply Add Float on PowerPC 2017-09-27 13:32:49 +00:00
Mark Simulacrum
b0929aadad Rollup merge of #44351 - lu-zero:master, r=nikomatsakis
More PowerPC Altivec intrinsics
2017-09-06 18:28:03 -06:00
Luca Barbato
c3041e8b9e Add support for Vector Sum Saturated on PowerPC 2017-09-05 20:30:47 +00:00
Luca Barbato
eec1c178b3 Add support for Vector Sum Across Partial 1/4 Saturated on PowerPC 2017-09-05 20:27:57 +00:00
Luca Barbato
668d8ff262 Add support for Vector Sum Across Partial 1/2 Saturated on PowerPC 2017-09-05 20:22:34 +00:00
Luca Barbato
cccf3e7a5c Add support for Vector Multiply Sum Saturated on PowerPC 2017-08-31 23:31:29 +00:00
Luca Barbato
078c3ddbe3 Add support for Vector Multiply Sum on PowerPC 2017-08-31 23:27:23 +00:00
Luca Barbato
d308b0bf56 Add support for Vector Multiply Add Saturated on PowerPC 2017-08-31 23:20:35 +00:00
Tamir Duberstein
b3f50caee0
*: remove crate_{name,type} attributes
Fixes #41701.
2017-08-25 16:18:21 -04:00
Luca Barbato
5d91eda8b3 Add support for Vector Unpack High and Low on PowerPC 2017-08-16 05:04:42 +00:00
Luca Barbato
88fc6dc369 Add support for Vector Pack Pixel on PowerPC
The llvm intrinsic uses signed integers.
2017-08-16 05:04:41 +00:00
Luca Barbato
1773233d74 Add support for Vector Pack Saturated Unsigned on PowerPC 2017-08-16 05:04:41 +00:00
Luca Barbato
c2cdcefead Add support for Vector Pack Saturated on PowerPC 2017-08-16 05:04:41 +00:00
Luca Barbato
8b78ea5b84 Add support for Vector Average on PowerPC 2017-08-07 07:44:27 +00:00
Luca Barbato
19c4bdb4e1 Add support for Vector Multiply Odd on PowerPC 2017-08-07 07:41:15 +00:00
Luca Barbato
9c6ab920ab Add support for Vector Multiply Even on PowerPC 2017-08-07 07:35:32 +00:00
Luca Barbato
bb47972d4c Add support for Vector Add Carryout on PowerPC 2017-08-06 06:35:42 +00:00
Luca Barbato
381cbe4994 Add support for Vector Add Saturated on PowerPC 2017-08-06 06:31:10 +00:00
Luca Barbato
844e9adf25 Add support for Vector Subtract Carryout on PowerPC 2017-08-04 00:19:58 +00:00
Luca Barbato
b07a059643 Add support for Vector Subtract Saturated on PowerPC 2017-08-04 00:16:22 +00:00
Luca Barbato
cbce0aa341 Add support for Vector Minimum on PowerPC 2017-07-27 21:30:31 +00:00
Luca Barbato
a718c813ed Add support for Vector Maximum on PowerPC 2017-07-27 15:59:12 +00:00
Luca Barbato
a1995d3973 Add Vector Compare Greater-Than 2017-07-26 17:19:32 +00:00
Luca Barbato
e2b5a6b3bc Add Vector Compare Equal 2017-07-26 13:13:52 +00:00
Luca Barbato
4f6c03e243 Add Vector Compare Bounds Floating-Point 2017-07-26 09:58:17 +00:00
Luca Barbato
ccdfd7f7e6 Add mradds to the powerpc intrinsics 2017-07-25 16:49:38 +00:00
Luca Barbato
9ed8cf87a6 Add support for PowerPC Altivec/VSX intrinsics 2017-07-24 09:08:20 +00:00
Alex Crichton
be7ebdd512 Bump version and stage0 compiler 2017-06-19 22:25:05 -07:00
Henri Sivonen
0fb8414f14 Change llvm.neon.* to llvm.arm.neon.* in the mapping for platform intrinsics
This avoids linker errors when using platform intrinsics on 32-bit ARM with
NEON.

Fixes rust-lang-nursery/simd#10.
2017-06-07 11:23:10 +03:00
Alex Crichton
ab54f4b226 rustc: Remove #![unstable] annotation
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-05-11 16:03:05 -07:00
Michael Wu
cc4efd1370 Add support for Hexagon v60 HVX intrinsics 2017-05-07 15:07:36 -04:00
bors
61b93bd811 Auto merge of #38561 - nagisa:rdrandseed, r=alexcrichton
Add intrinsics & target features for rd{rand,seed}

One question is whether or not we want to map feature name `rdrnd` to `rdrand` instead.

EDIT: as for use case, I would like to port my rdrand crate from inline assembly to these intrinsics.
2017-02-14 01:26:10 +00:00
bors
7ac9d337dc Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc
Remove not(stage0) from deny(warnings)

Historically this was done to accommodate bugs in lints, but there hasn't been a
bug in a lint since this feature was added which the warnings affected. Let's
completely purge warnings from all our stages by denying warnings in all stages.
This will also assist in tracking down `stage0` code to be removed whenever
we're updating the bootstrap compiler.
2017-01-08 08:22:06 +00:00
Alex Crichton
9b0b5b45db Remove not(stage0) from deny(warnings)
Historically this was done to accommodate bugs in lints, but there hasn't been a
bug in a lint since this feature was added which the warnings affected. Let's
completely purge warnings from all our stages by denying warnings in all stages.
This will also assist in tracking down `stage0` code to be removed whenever
we're updating the bootstrap compiler.
2016-12-29 21:07:20 -08:00
Jorge Aparicio
18d49288d5 PTX support
- `--emit=asm --target=nvptx64-nvidia-cuda` can be used to turn a crate
  into a PTX module (a `.s` file).

- intrinsics like `__syncthreads` and `blockIdx.x` are exposed as
  `"platform-intrinsics"`.

- "cabi" has been implemented for the nvptx and nvptx64 architectures.
  i.e. `extern "C"` works.

- a new ABI, `"ptx-kernel"`. That can be used to generate "global"
  functions. Example: `extern "ptx-kernel" fn kernel() { .. }`. All
  other functions are "device" functions.
2016-12-26 21:06:23 -05:00
Simonas Kazlauskas
b2cf6df875 Add intrinsics & target features for rd{rand,seed} 2016-12-22 23:53:30 +02:00
gnzlbg
10cbc37cdd Add intrinsics for x86 bit manipulation instruction sets: BMI 1.0, BMI 2.0, and TBM. 2016-06-22 16:34:10 +02:00
Eduard Burtescu
0abd3139db rustc_platform_intrinsics: remove unused rustc dependency. 2016-03-29 19:36:01 +03:00
Eduard Burtescu
352b44d1fa Remove unnecessary dependencies on rustc_llvm. 2016-03-29 19:36:01 +03:00