[Issue 6829] Unsigned rotate standard function in Phobos
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Jul 13 10:25:30 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6829
--- Comment #31 from hsteoh at quickfur.ath.cx 2013-07-13 10:25:27 PDT ---
I still can't get it to work. I copied Walter's code exactly, compiled with dmd
-O (from DMD git HEAD) and here's the disassembly:
0000000000416854 <_D4test4testFiZv>:
416854: 55 push %rbp
416855: 48 8b ec mov %rsp,%rbp
416858: 48 83 ec 20 sub $0x20,%rsp
41685c: 53 push %rbx
41685d: 41 54 push %r12
41685f: 89 7d f8 mov %edi,-0x8(%rbp)
416862: 41 bc 07 00 00 00 mov $0x7,%r12d
416868: 48 89 f9 mov %rdi,%rcx
41686b: 41 d3 ec shr %cl,%r12d
41686e: b8 07 00 00 00 mov $0x7,%eax
416873: 48 ba 20 00 00 00 00 movabs $0x20,%rdx
41687a: 00 00 00
41687d: 48 63 d9 movslq %ecx,%rbx
416880: 48 2b d3 sub %rbx,%rdx
416883: 48 89 d1 mov %rdx,%rcx
416886: d3 e0 shl %cl,%eax
416888: 44 0b e0 or %eax,%r12d
41688b: 41 81 fc 03 00 00 80 cmp $0x80000003,%r12d
416892: 48 89 8d e8 ff ff ff mov %rcx,-0x18(%rbp)
416899: 74 0a je 4168a5 <_D4test4testFiZv+0x51>
41689b: bf 06 00 00 00 mov $0x6,%edi
4168a0: e8 37 00 00 00 callq 4168dc <_D4test8__assertFiZv>
4168a5: 41 8b c4 mov %r12d,%eax
4168a8: 8b 4d f8 mov -0x8(%rbp),%ecx
4168ab: d3 e0 shl %cl,%eax
4168ad: 41 8b d4 mov %r12d,%edx
4168b0: 48 8b 8d e8 ff ff ff mov -0x18(%rbp),%rcx
4168b7: d3 ea shr %cl,%edx
4168b9: 0b c2 or %edx,%eax
4168bb: 83 f8 07 cmp $0x7,%eax
4168be: 74 0a je 4168ca <_D4test4testFiZv+0x76>
4168c0: bf 08 00 00 00 mov $0x8,%edi
4168c5: e8 12 00 00 00 callq 4168dc <_D4test8__assertFiZv>
4168ca: 41 5c pop %r12
4168cc: 5b pop %rbx
4168cd: 48 8b e5 mov %rbp,%rsp
4168d0: 5d pop %rbp
4168d1: c3 retq
I don't understand what I'm doing wrong. Is this a platform-specific issue? I'm
running Linux/x86_64.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list