From 63ed6a19aa653e0264b565bad2015c3a2fe482ed Mon Sep 17 00:00:00 2001 From: Wesley Wiser Date: Mon, 23 Jul 2018 21:24:18 -0400 Subject: [PATCH] Add test for #33264 Closes #33264 --- src/test/run-pass/issue-33264.rs | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/test/run-pass/issue-33264.rs diff --git a/src/test/run-pass/issue-33264.rs b/src/test/run-pass/issue-33264.rs new file mode 100644 index 000000000000..cb4b227548aa --- /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 or the MIT license +// , 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() { } +