<html><body><p><font size="2">I am testing a test case "KeyPath.swift" on s390x for v4.0 . It is found that " Builtin.loadRaw" as the below of </font><br><font size="2"> "stdlib/public/core/UnsafeRawPointer.swift.gyb" returns a different value than that on x86-64. </font><br>
<ul><font size="2"> @_inlineable</font><br><font size="2"> public func load<T>(fromByteOffset offset: Int = 0, as type: T.Type) -> T {</font><br><font size="2"> _debugPrecondition(0 == (UInt(bitPattern: self + offset)</font><br><font size="2"> & (UInt(MemoryLayout<T>.alignment) - 1)),</font><br><font size="2"> "load from misaligned raw pointer")</font><br><font size="2"> </font><br><font size="2"> return </font><font size="2" color="#0000FF">Builtin.loadRaw</font><font size="2">((self + offset)._rawValue) // return a different value on s390x vs x86-64</font><br><font size="2"> }</font><br></ul><font size="2">My debugger (lldb) does not guide me to the detailed of " </font><font size="2" color="#0000FF">Builtin.loadRaw</font><font size="2">". Searching "loadRaw" and finding</font><ul><font size="2"> swift/include/swift/AST/Builtins.def:</font><font size="2" color="#001FE2">BUILTIN_SIL_OPERATION(LoadRaw, "loadRaw", Special)</font><font size="2"> </font></ul><br><font size="2">But I could not find the definition of this "</font><font size="2" color="#001FE2">LoadRaw</font><font size="2">" from the whole swift v4.</font><br><font size="2">Can anyone give me a hint where its implementation is?</font><br><br><font size="2">Thanks,</font><br><br><br><font size="2">Sam Ding,</font><br><font size="2">Linux on z Systems Open Source Ecosystem</font><br><font size="2">IBM Toronto Lab, <br></font><font size="2" color="#0000FF">email: </font><font size="2">samding@ca.ibm.com</font><br><font size="2" color="#0000FF">phone:</font><font size="2"> (905)413-2947</font><BR>
</body></html>