]> git.lizzy.rs Git - rust.git/blob - src/test/debuginfo/simd.rs
Add verbose option to rustdoc in order to fix problem with --version
[rust.git] / src / test / debuginfo / simd.rs
1 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // Need a fix for LLDB first...
12 // ignore-lldb
13
14 // ignore-android: FIXME(#10381)
15
16 // compile-flags:-g
17 // gdb-command:run
18
19 // gdb-command:print/d vi8x16
20 // gdb-check:$1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
21 // gdb-command:print/d vi16x8
22 // gdb-check:$2 = {16, 17, 18, 19, 20, 21, 22, 23}
23 // gdb-command:print/d vi32x4
24 // gdb-check:$3 = {24, 25, 26, 27}
25 // gdb-command:print/d vi64x2
26 // gdb-check:$4 = {28, 29}
27
28 // gdb-command:print/d vu8x16
29 // gdb-check:$5 = {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}
30 // gdb-command:print/d vu16x8
31 // gdb-check:$6 = {46, 47, 48, 49, 50, 51, 52, 53}
32 // gdb-command:print/d vu32x4
33 // gdb-check:$7 = {54, 55, 56, 57}
34 // gdb-command:print/d vu64x2
35 // gdb-check:$8 = {58, 59}
36
37 // gdb-command:print vf32x4
38 // gdb-check:$9 = {60.5, 61.5, 62.5, 63.5}
39 // gdb-command:print vf64x2
40 // gdb-check:$10 = {64.5, 65.5}
41
42 // gdb-command:continue
43
44 #![allow(experimental)]
45 #![allow(unused_variables)]
46
47 use std::simd::{i8x16, i16x8,i32x4,i64x2,u8x16,u16x8,u32x4,u64x2,f32x4,f64x2};
48
49 fn main() {
50
51     let vi8x16 = i8x16(0i8, 1i8, 2i8, 3i8, 4i8, 5i8, 6i8, 7i8,
52                       8i8, 9i8, 10i8, 11i8, 12i8, 13i8, 14i8, 15i8);
53
54     let vi16x8 = i16x8(16i16, 17i16, 18i16, 19i16, 20i16, 21i16, 22i16, 23i16);
55     let vi32x4 = i32x4(24i32, 25i32, 26i32, 27i32);
56     let vi64x2 = i64x2(28i64, 29i64);
57
58     let vu8x16 = u8x16(30u8, 31u8, 32u8, 33u8, 34u8, 35u8, 36u8, 37u8,
59                       38u8, 39u8, 40u8, 41u8, 42u8, 43u8, 44u8, 45u8);
60     let vu16x8 = u16x8(46u16, 47u16, 48u16, 49u16, 50u16, 51u16, 52u16, 53u16);
61     let vu32x4 = u32x4(54u32, 55u32, 56u32, 57u32);
62     let vu64x2 = u64x2(58u64, 59u64);
63
64     let vf32x4 = f32x4(60.5f32, 61.5f32, 62.5f32, 63.5f32);
65     let vf64x2 = f64x2(64.5f64, 65.5f64);
66
67     zzz(); // #break
68 }
69
70 #[inline(never)]
71 fn zzz() { () }