From 3ee795245127f687fa7101a1aaec0c91bde90584 Mon Sep 17 00:00:00 2001 From: Frits van Bommel Date: Wed, 18 Feb 2009 03:38:12 +0100 Subject: [PATCH] Fix a latent bug in the asm code. I think that technically, using "*m0" instead of "*0" allows LLVM to pick between using the same memory as output 0 and using a new memory location. (So far I haven't been able to construct a testcase that actually breaks because of this, though) --- gen/asmstmt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/asmstmt.cpp b/gen/asmstmt.cpp index 58814360..95e6b5b0 100644 --- a/gen/asmstmt.cpp +++ b/gen/asmstmt.cpp @@ -395,7 +395,7 @@ assert(0); // Add input operand with same value, with original as "matching output". std::ostringstream ss; - ss << m_cns << (n + asmblock->outputcount); + ss << '*' << (n + asmblock->outputcount); input_constraints.push_front(ss.str()); input_values.push_front(output_values[n]); }