Skip to content

Commit 63ed6a1

Browse files
committed
Add test for #33264
Closes #33264
1 parent 5363911 commit 63ed6a1

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Diff for: src/test/run-pass/issue-33264.rs

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Copyright 2018 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+
// only-x86_64
12+
13+
#![allow(dead_code, non_upper_case_globals)]
14+
#![feature(asm)]
15+
16+
#[repr(C)]
17+
pub struct D32x4(f32,f32,f32,f32);
18+
19+
impl D32x4 {
20+
fn add(&self, vec: Self) -> Self {
21+
unsafe {
22+
let ret: Self;
23+
asm!("
24+
movaps $1, %xmm1
25+
movaps $2, %xmm2
26+
addps %xmm1, %xmm2
27+
movaps $xmm1, $0
28+
"
29+
: "=r"(ret)
30+
: "1"(self), "2"(vec)
31+
: "xmm1", "xmm2"
32+
);
33+
ret
34+
}
35+
}
36+
}
37+
38+
fn main() { }
39+

0 commit comments

Comments
 (0)