diff options
| author | Wesley Wiser <wwiser@gmail.com> | 2018-07-23 21:24:18 -0400 |
|---|---|---|
| committer | Wesley Wiser <wwiser@gmail.com> | 2018-07-23 21:24:18 -0400 |
| commit | 63ed6a19aa653e0264b565bad2015c3a2fe482ed (patch) | |
| tree | 9551d5f3bee59df9c4a9c2d78bfbf7af30788321 | |
| parent | 5363911d8537eff55c09239a68e831f2a7bc724d (diff) | |
| download | rust-63ed6a19aa653e0264b565bad2015c3a2fe482ed.tar.gz rust-63ed6a19aa653e0264b565bad2015c3a2fe482ed.zip | |
Add test for #33264
Closes #33264
| -rw-r--r-- | src/test/run-pass/issue-33264.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-33264.rs b/src/test/run-pass/issue-33264.rs new file mode 100644 index 00000000000..cb4b227548a --- /dev/null +++ b/src/test/run-pass/issue-33264.rs @@ -0,0 +1,39 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// only-x86_64 + +#![allow(dead_code, non_upper_case_globals)] +#![feature(asm)] + +#[repr(C)] +pub struct D32x4(f32,f32,f32,f32); + +impl D32x4 { + fn add(&self, vec: Self) -> Self { + unsafe { + let ret: Self; + asm!(" + movaps $1, %xmm1 + movaps $2, %xmm2 + addps %xmm1, %xmm2 + movaps $xmm1, $0 + " + : "=r"(ret) + : "1"(self), "2"(vec) + : "xmm1", "xmm2" + ); + ret + } + } +} + +fn main() { } + |
