From daf8bdca57d0a099f955a33c2f9552b335d06ff6 Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Sat, 29 Aug 2015 19:27:21 -0700 Subject: [PATCH] Fix typos in some x86 and arm intrinsics. --- src/etc/platform-intrinsics/arm.json | 18 +++++------ src/etc/platform-intrinsics/x86/sse.json | 7 +++++ src/etc/platform-intrinsics/x86/sse2.json | 7 +++++ src/etc/platform-intrinsics/x86/sse42.json | 20 ++++++------ src/librustc_platform_intrinsics/arm.rs | 36 +++++++++++----------- src/librustc_platform_intrinsics/x86.rs | 30 ++++++++++++------ 6 files changed, 71 insertions(+), 47 deletions(-) diff --git a/src/etc/platform-intrinsics/arm.json b/src/etc/platform-intrinsics/arm.json index 29f69b4e7a53..97db7cbb3e0a 100644 --- a/src/etc/platform-intrinsics/arm.json +++ b/src/etc/platform-intrinsics/arm.json @@ -337,56 +337,56 @@ "args": ["0", "0"] }, { - "intrinsic": "qtbl1_{0.data_type}", + "intrinsic": "tbl1_{0.data_type}", "width": [64], "llvm": "tbl1", "ret": "i8", - "args": ["0x128", "0u"] + "args": ["0", "0u"] }, { - "intrinsic": "qtbx1_{0.data_type}", + "intrinsic": "tbx1_{0.data_type}", "width": [64], "llvm": "tbx1", "ret": "i8", "args": ["0", "0", "0u"] }, { - "intrinsic": "qtbl2_{0.data_type}", + "intrinsic": "tbl2_{0.data_type}", "width": [64], "llvm": "tbl2", "ret": "i8", "args": ["(0,0)f", "0u"] }, { - "intrinsic": "qtbx2_{0.data_type}", + "intrinsic": "tbx2_{0.data_type}", "width": [64], "llvm": "tbx2", "ret": "i8", "args": ["(0,0)f", "0u"] }, { - "intrinsic": "qtbl3_{0.data_type}", + "intrinsic": "tbl3_{0.data_type}", "width": [64], "llvm": "tbl3", "ret": "i8", "args": ["(0,0,0)f", "0u"] }, { - "intrinsic": "qtbx3_{0.data_type}", + "intrinsic": "tbx3_{0.data_type}", "width": [64], "llvm": "tbx3", "ret": "i8", "args": ["0", "(0,0,0)f", "0u"] }, { - "intrinsic": "qtbl4_{0.data_type}", + "intrinsic": "tbl4_{0.data_type}", "width": [64], "llvm": "tbl4", "ret": "i8", "args": ["(0,0,0,0)f", "0u"] }, { - "intrinsic": "qtbx4_{0.data_type}", + "intrinsic": "tbx4_{0.data_type}", "width": [64], "llvm": "tbx4", "ret": "i8", diff --git a/src/etc/platform-intrinsics/x86/sse.json b/src/etc/platform-intrinsics/x86/sse.json index 144d326ffd0c..27da842934c0 100644 --- a/src/etc/platform-intrinsics/x86/sse.json +++ b/src/etc/platform-intrinsics/x86/sse.json @@ -35,6 +35,13 @@ "llvm": "rcp.ps", "ret": "f32", "args": ["0"] + }, + { + "intrinsic": "_sqrt_ps", + "width": [128], + "llvm": "!llvm.sqrt.v4f32", + "ret": "f32", + "args": ["0"] } ] } diff --git a/src/etc/platform-intrinsics/x86/sse2.json b/src/etc/platform-intrinsics/x86/sse2.json index 2a3db5610979..b2a3fe60f1a4 100644 --- a/src/etc/platform-intrinsics/x86/sse2.json +++ b/src/etc/platform-intrinsics/x86/sse2.json @@ -99,6 +99,13 @@ "ret": "u64", "args": ["u8", "u8"] }, + { + "intrinsic": "_sqrt_pd", + "width": [128], + "llvm": "!llvm.sqrt.v2f64", + "ret": "f64", + "args": ["0"] + }, { "intrinsic": "_subs_{0.data_type}", "width": [128], diff --git a/src/etc/platform-intrinsics/x86/sse42.json b/src/etc/platform-intrinsics/x86/sse42.json index 2961405a0551..e63182d48572 100644 --- a/src/etc/platform-intrinsics/x86/sse42.json +++ b/src/etc/platform-intrinsics/x86/sse42.json @@ -25,7 +25,7 @@ { "intrinsic": "_cmpestrm", "width": [128], - "llvm": "pcmpestrim128", + "llvm": "pcmpestrm128", "ret": "s8", "args": ["s8", "S32", "s8", "S32", "S32"] }, @@ -55,49 +55,49 @@ "width": [128], "llvm": "pcmpistria128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistrc", "width": [128], "llvm": "pcmpistric128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistri", "width": [128], - "llvm": "pcmpistrii128", + "llvm": "pcmpistri128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistrm", "width": [128], - "llvm": "pcmpistrim128", + "llvm": "pcmpistrm128", "ret": "s8", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistro", "width": [128], "llvm": "pcmpistrio128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistrs", "width": [128], "llvm": "pcmpistris128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] }, { "intrinsic": "_cmpistrz", "width": [128], "llvm": "pcmpistriz128", "ret": "S32", - "args": ["s8", "S32", "s8", "S32", "S32"] + "args": ["s8", "s8", "S32"] } ] } diff --git a/src/librustc_platform_intrinsics/arm.rs b/src/librustc_platform_intrinsics/arm.rs index 2d672870bb24..8ea725ee95df 100644 --- a/src/librustc_platform_intrinsics/arm.rs +++ b/src/librustc_platform_intrinsics/arm.rs @@ -2000,82 +2000,82 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option { output: v(f(32), 4), definition: Named("llvm.neon.vpminf.v4f32") }, - "qtbl1_s8" => Intrinsic { - inputs: vec![v(i(8), 16), v(u(8), 8)], + "tbl1_s8" => Intrinsic { + inputs: vec![v(i(8), 8), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbl1") }, - "qtbl1_u8" => Intrinsic { - inputs: vec![v(u(8), 16), v(u(8), 8)], + "tbl1_u8" => Intrinsic { + inputs: vec![v(u(8), 8), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbl1") }, - "qtbx1_s8" => Intrinsic { + "tbx1_s8" => Intrinsic { inputs: vec![v(i(8), 8), v(i(8), 8), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbx1") }, - "qtbx1_u8" => Intrinsic { + "tbx1_u8" => Intrinsic { inputs: vec![v(u(8), 8), v(u(8), 8), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbx1") }, - "qtbl2_s8" => Intrinsic { + "tbl2_s8" => Intrinsic { inputs: vec![agg(true, vec![v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbl2") }, - "qtbl2_u8" => Intrinsic { + "tbl2_u8" => Intrinsic { inputs: vec![agg(true, vec![v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbl2") }, - "qtbx2_s8" => Intrinsic { + "tbx2_s8" => Intrinsic { inputs: vec![agg(true, vec![v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbx2") }, - "qtbx2_u8" => Intrinsic { + "tbx2_u8" => Intrinsic { inputs: vec![agg(true, vec![v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbx2") }, - "qtbl3_s8" => Intrinsic { + "tbl3_s8" => Intrinsic { inputs: vec![agg(true, vec![v(i(8), 8), v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbl3") }, - "qtbl3_u8" => Intrinsic { + "tbl3_u8" => Intrinsic { inputs: vec![agg(true, vec![v(u(8), 8), v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbl3") }, - "qtbx3_s8" => Intrinsic { + "tbx3_s8" => Intrinsic { inputs: vec![v(i(8), 8), agg(true, vec![v(i(8), 8), v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbx3") }, - "qtbx3_u8" => Intrinsic { + "tbx3_u8" => Intrinsic { inputs: vec![v(u(8), 8), agg(true, vec![v(u(8), 8), v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbx3") }, - "qtbl4_s8" => Intrinsic { + "tbl4_s8" => Intrinsic { inputs: vec![agg(true, vec![v(i(8), 8), v(i(8), 8), v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbl4") }, - "qtbl4_u8" => Intrinsic { + "tbl4_u8" => Intrinsic { inputs: vec![agg(true, vec![v(u(8), 8), v(u(8), 8), v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbl4") }, - "qtbx4_s8" => Intrinsic { + "tbx4_s8" => Intrinsic { inputs: vec![v(i(8), 8), agg(true, vec![v(i(8), 8), v(i(8), 8), v(i(8), 8), v(i(8), 8)]), v(u(8), 8)], output: v(i(8), 8), definition: Named("llvm.neon.vtbx4") }, - "qtbx4_u8" => Intrinsic { + "tbx4_u8" => Intrinsic { inputs: vec![v(u(8), 8), agg(true, vec![v(u(8), 8), v(u(8), 8), v(u(8), 8), v(u(8), 8)]), v(u(8), 8)], output: v(u(8), 8), definition: Named("llvm.neon.vtbx4") diff --git a/src/librustc_platform_intrinsics/x86.rs b/src/librustc_platform_intrinsics/x86.rs index f805f480ece1..d86afa7f41f9 100644 --- a/src/librustc_platform_intrinsics/x86.rs +++ b/src/librustc_platform_intrinsics/x86.rs @@ -45,6 +45,11 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option { output: v(f(32), 4), definition: Named("llvm.x86.sse.rcp.ps") }, + "_sqrt_ps" => Intrinsic { + inputs: vec![v(f(32), 4)], + output: v(f(32), 4), + definition: Named("llvm.sqrt.v4f32") + }, "_adds_epi8" => Intrinsic { inputs: vec![v(i(8), 16), v(i(8), 16)], output: v(i(8), 16), @@ -155,6 +160,11 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option { output: v(u(64), 2), definition: Named("llvm.x86.sse2.psad.bw") }, + "_sqrt_pd" => Intrinsic { + inputs: vec![v(f(64), 2)], + output: v(f(64), 2), + definition: Named("llvm.sqrt.v2f64") + }, "_subs_epi8" => Intrinsic { inputs: vec![v(i(8), 16), v(i(8), 16)], output: v(i(8), 16), @@ -378,7 +388,7 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option { "_cmpestrm" => Intrinsic { inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], output: v(i(8), 16), - definition: Named("llvm.x86.sse42.pcmpestrim128") + definition: Named("llvm.x86.sse42.pcmpestrm128") }, "_cmpestro" => Intrinsic { inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], @@ -396,37 +406,37 @@ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option { definition: Named("llvm.x86.sse42.pcmpestriz128") }, "_cmpistra" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), definition: Named("llvm.x86.sse42.pcmpistria128") }, "_cmpistrc" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), definition: Named("llvm.x86.sse42.pcmpistric128") }, "_cmpistri" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), - definition: Named("llvm.x86.sse42.pcmpistrii128") + definition: Named("llvm.x86.sse42.pcmpistri128") }, "_cmpistrm" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: v(i(8), 16), - definition: Named("llvm.x86.sse42.pcmpistrim128") + definition: Named("llvm.x86.sse42.pcmpistrm128") }, "_cmpistro" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), definition: Named("llvm.x86.sse42.pcmpistrio128") }, "_cmpistrs" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), definition: Named("llvm.x86.sse42.pcmpistris128") }, "_cmpistrz" => Intrinsic { - inputs: vec![v(i(8), 16), i(32), v(i(8), 16), i(32), i(32)], + inputs: vec![v(i(8), 16), v(i(8), 16), i(32)], output: i(32), definition: Named("llvm.x86.sse42.pcmpistriz128") },