Skip to content

Commit c52dfee

Browse files
committed
---
yaml --- r: 227057 b: refs/heads/master c: 2a408ef h: refs/heads/master i: 227055: d0e9261 v: v3
1 parent aa3fbdc commit c52dfee

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 29b79aabd8fb5855543ba41d684ddf2f3e43139c
2+
refs/heads/master: 2a408ef6eee07b447b8b21f2233b01d3231c8f81
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
44
refs/heads/try: b53c0f93eedcdedd4fd89bccc5a3a09d1c5cd23e
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

trunk/src/librustc_platform_intrinsics/x86.rs

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,57 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
129129
"testnzc_ps" => p!("avx.vtestnzc.ps.256", (f32x8, f32x8) -> i32),
130130
"testz_pd" => p!("avx.vtestz.pd.256", (f64x4, f64x4) -> i32),
131131
"testz_ps" => p!("avx.vtestz.ps.256", (f32x8, f32x8) -> i32),
132+
133+
"abs_epi16" => p!("avx2.pabs.w", (i16x16) -> i16x16),
134+
"abs_epi32" => p!("avx2.pabs.d", (i32x8) -> i32x8),
135+
"abs_epi8" => p!("avx2.pabs.b", (i8x32) -> i8x32),
136+
"adds_epi16" => p!("avx2.padds.w", (i16x16, i16x16) -> i16x16),
137+
"adds_epi8" => p!("avx2.padds.b", (i8x32, i8x32) -> i8x32),
138+
"adds_epu16" => p!("avx2.paddus.w", (i16x16, i16x16) -> i16x16),
139+
"adds_epu8" => p!("avx2.paddus.b", (i8x32, i8x32) -> i8x32),
140+
"avg_epu16" => p!("avx2.pavg.w", (i16x16, i16x16) -> i16x16),
141+
"avg_epu8" => p!("avx2.pavg.b", (i8x32, i8x32) -> i8x32),
142+
"hadd_epi16" => p!("avx2.phadd.w", (i16x16, i16x16) -> i16x16),
143+
"hadd_epi32" => p!("avx2.phadd.d", (i32x8, i32x8) -> i32x8),
144+
"hadds_epi16" => p!("avx2.phadd.sw", (i16x16, i16x16) -> i16x16),
145+
"hsub_epi16" => p!("avx2.phsub.w", (i16x16, i16x16) -> i16x16),
146+
"hsub_epi32" => p!("avx2.phsub.d", (i32x8, i32x8) -> i32x8),
147+
"hsubs_epi16" => p!("avx2.phsub.sw", (i16x16, i16x16) -> i16x16),
148+
"madd_epi16" => p!("avx2.pmadd.wd", (i16x16, i16x16) -> i32x8),
149+
"maddubs_epi16" => p!("avx2.pmadd.ub.sw", (i8x32, i8x32) -> i16x16),
150+
"max_epi16" => p!("avx2.pmaxs.w", (i16x16, i16x16) -> i16x16),
151+
"max_epi32" => p!("avx2.pmaxs.d", (i32x8, i32x8) -> i32x8),
152+
"max_epi8" => p!("avx2.pmaxs.b", (i8x32, i8x32) -> i8x32),
153+
"max_epu16" => p!("avx2.pmaxu.w", (i16x16, i16x16) -> i16x16),
154+
"max_epu32" => p!("avx2.pmaxu.d", (i32x8, i32x8) -> i32x8),
155+
"max_epu8" => p!("avx2.pmaxu.b", (i8x32, i8x32) -> i8x32),
156+
"min_epi16" => p!("avx2.pmins.w", (i16x16, i16x16) -> i16x16),
157+
"min_epi32" => p!("avx2.pmins.d", (i32x8, i32x8) -> i32x8),
158+
"min_epi8" => p!("avx2.pmins.b", (i8x32, i8x32) -> i8x32),
159+
"min_epu16" => p!("avx2.pminu.w", (i16x16, i16x16) -> i16x16),
160+
"min_epu32" => p!("avx2.pminu.d", (i32x8, i32x8) -> i32x8),
161+
"min_epu8" => p!("avx2.pminu.b", (i8x32, i8x32) -> i8x32),
162+
"mul_epi32" => p!("avx2.mul.dq", (i32x8, i32x8) -> i64x4),
163+
"mul_epu32" => p!("avx2.mulu.dq", (i32x8, i32x8) -> i64x4),
164+
"mulhi_epi16" => p!("avx2.pmulh.w", (i8x32, i8x32) -> i8x32),
165+
"mulhi_epu16" => p!("avx2.pmulhu.w", (i8x32, i8x32) -> i8x32),
166+
"mulhrs_epi16" => p!("avx2.pmul.hr.sw", (i16x16, i16x16) -> i16x16),
167+
"packs_epi16" => p!("avx2.packsswb", (i16x16, i16x16) -> i8x32),
168+
"packs_epi32" => p!("avx2.packssdw", (i32x8, i32x8) -> i16x16),
169+
"packus_epi16" => p!("avx2.packuswb", (i16x16, i16x16) -> i8x32),
170+
"packus_epi32" => p!("avx2.packusdw", (i32x8, i32x8) -> i16x16),
171+
"permutevar8x32_epi32" => p!("avx2.permd", (i32x8, i32x8) -> i32x8),
172+
"permutevar8x32_ps" => p!("avx2.permps", (f32x8, i32x8) -> i32x8),
173+
"sad_epu8" => p!("avx2.psad.bw", (i8x32, i8x32) -> i64x4),
174+
"shuffle_epi8" => p!("avx2.pshuf.b", (i8x32, i8x32) -> i8x32),
175+
"sign_epi16" => p!("avx2.psign.w", (i16x16, i16x16) -> i16x16),
176+
"sign_epi32" => p!("avx2.psign.d", (i32x8, i32x8) -> i32x8),
177+
"sign_epi8" => p!("avx2.psign.b", (i8x32, i8x32) -> i8x32),
178+
"subs_epi16" => p!("avx2.psubs.w", (i16x16, i16x16) -> i16x16),
179+
"subs_epi8" => p!("avx2.psubs.b", (i8x32, i8x32) -> i8x32),
180+
"subs_epu16" => p!("avx2.psubus.w", (i16x16, i16x16) -> i16x16),
181+
"subs_epu8" => p!("avx2.psubus.b", (i8x32, i8x32) -> i8x32),
182+
132183
_ => return None,
133184
})
134185
} else {

0 commit comments

Comments
 (0)