about summary refs log tree commit diff
path: root/tests/codegen-llvm/const_scalar_pair.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/const_scalar_pair.rs')
-rw-r--r--tests/codegen-llvm/const_scalar_pair.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/codegen-llvm/const_scalar_pair.rs b/tests/codegen-llvm/const_scalar_pair.rs
new file mode 100644
index 00000000000..f142896c31f
--- /dev/null
+++ b/tests/codegen-llvm/const_scalar_pair.rs
@@ -0,0 +1,8 @@
+//@ compile-flags: --crate-type=lib -Copt-level=0 -Zmir-opt-level=0 -C debuginfo=2
+
+// Test that we don't generate a memory allocation for the constant
+// and read the fields from that, but instead just create the value pair directly.
+pub fn foo() -> (i32, i32) {
+    // CHECK: ret { i32, i32 } { i32 1, i32 2 }
+    const { (1, 2) }
+}