================
@@ -147,6 +148,36 @@ float takeFloatEmptyFirst(FloatEmptyFirst v) { return v.a;
}
// CIR: cir.func {{.*}}@_Z19takeFloatEmptyFirst15FloatEmptyFirst(%arg0:
!cir.double {{.*}}) -> (!cir.float
// LLVM: define dso_local noundef float
@_Z19takeFloatEmptyFirst15FloatEmptyFirst(double %{{[^,]+}})
+// Here the empty member owns eightbyte 0 rather than eightbyte 1, so NoClass
+// cannot just be dropped: the coercion has to start at byte 8.
+long takeHiWord(HiWord v) { return v.hi; }
+
+// CIR: cir.func {{.*}}@_Z10takeHiWord6HiWord(%arg0: !s64i {{.*}}) -> (!s64i
----------------
andykaylor wrote:
Why doesn't this check the CIR store of the coerced argument?
https://github.com/llvm/llvm-project/pull/220724
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits