x86-64

Is mov %esi, %esi a no-op or not on x86-64?

≡放荡痞女 提交于 2019-11-30 03:44:03
问题 I am a bit confused by the comment in one of the header files for the Linux kernel, arch/x86/include/asm/nops.h. It states that <...> the following instructions are NOT nops in 64-bit mode, for 64-bit mode use K8 or P6 nops instead movl %esi,%esi leal 0x00(%esi),%esi <...> I guess the author implied the machine instructions ('89 F6' and '8D 76 00', respectively) there rather than assembly instructions. It follows from the description of LEA in Intel Software Developer's Manual Vol 2A that the

NUnit “missing” GPSVC.DLL on Windows 7/64

房东的猫 提交于 2019-11-30 03:08:31
I recently upgraded from Vista/32 to Win7/64. On my old machine, everything was working fine. Unfortunately, on my new machine NUnit won't load my unit tests, with the error message "System.IO.FileNotFoundException: Could not load file or assembly 'UnitTest' or one of its dependencies. The system cannot find the file specified" . (Actually, I had to go through all of my solution's projects and set them to 32-bit to get this far.) So I loaded up Dependency Walker, and it told me that I was missing IESHIMS.DLL . I found two on my machine, so I copied in the 32-bit version from the Internet

Vectorizing Modular Arithmetic

我的梦境 提交于 2019-11-30 02:56:04
问题 I'm trying to write some reasonably fast component-wise vector addition code. I'm working with (signed, I believe) 64-bit integers. The function is void addRq (int64_t* a, const int64_t* b, const int32_t dim, const int64_t q) { for(int i = 0; i < dim; i++) { a[i] = (a[i]+b[i])%q; // LINE1 } } I'm compiling with icc -std=gnu99 -O3 (icc so I can use SVML later) on an IvyBridge (SSE4.2 and AVX, but not AVX2). My baseline is removing the %q from LINE1. 100 (iterated) function calls with dim

What are the exhaustion characteristics of RDRAND on Ivy Bridge?

杀马特。学长 韩版系。学妹 提交于 2019-11-30 01:46:12
问题 After reviewing the Intel Digital Random Number Generator (DRNG) Software Implementation Guide, I have a few questions about what happens to the internal state of the generator when RDRAND is invoked. Unfortunately the answers don't seem to be in the guide. According to the guide, inside the DRNG there are four 128-bit buffers that serve random bits for RDRAND to drain. RDRAND itself will provide either 16, 32, or 64 bits of random data depending on the width of the destination register:

C - Undefined symbols for architecture x86_64 when compiling on Mac OSX Lion

不羁岁月 提交于 2019-11-30 01:28:18
问题 I'm getting some problems on compiling a very very simple name.c file on Mac OSX Lion. Now, I started following Harvard CS50 course on cs50.net. I'm not totally new to programming but I was curious on how this course has been taught. This is the source of name.c: #include <stdio.h> #include <cs50.h> int main(void) { printf("State your name:\n"); string name = GetString(); printf("O hai, %s!\n", name); return 0; } As you can see, it requires this library: https://manual.cs50.net/CS50_Library.

Python的安装

天涯浪子 提交于 2019-11-30 00:36:30
安装selenium的方式 非常简单 ,注意是 ### 非常简单 安装python(以windows7 64位为例子) 首先进入 Python 官网 根据自己的电脑系统点击 这里有三个下载链接 Download [Windows x86-64 web-based installer] 第一个下载后需要联网才能完全安装 Download [Windows x86-64 executable installer] 第二个就是普通的可执行文件安装,一般用这个就可以了 Download [Windows x86-64 embeddable zip file] 第三个就是下载一个压缩包 下载完成后,双击安装 至于安装在默认文件夹,还是自定义文件夹,随意就好,这里默认了,但是请勾选上 Add Python XXX to PATH 安装完成之后,我们检查一下,在cmd界面分别输入 python -V pip -V 如图所示,就表示安装成功 如果出现 不是内部或外部命令,也不是可运行的程序或批处理文件。 请添加环境变量 如果python -V出现此错误,将python3的安装路径添加到环境变量path即可如不会添加环境变量,请参考 win7 如何添加环境变量 win10 如何添加环境变量 来源: https://www.cnblogs.com/samtester/p/11541713.html

x86 Assembly: INC and DEC instruction and overflow flag

牧云@^-^@ 提交于 2019-11-30 00:34:48
In x86 assembly, the overflow flag is set when an add or sub operation on a signed integer overflows, and the carry flag is set when an operation on an unsigned integer overflows. However, when it comes to the inc and dec instructions, the situation seems to be somewhat different. According to this website , the inc instruction does not affect the carry flag at all. But I can't find any information about how inc and dec affect the overflow flag, if at all. Do inc or dec set the overflow flag when an integer overflow occurs? And is this behavior the same for both signed and unsigned integers? =

Porting 32 bit C++ code to 64 bit - is it worth it? Why?

夙愿已清 提交于 2019-11-29 22:49:58
I am aware of some the obvious gains of the x64 architecture (higher addressable RAM addresses, etc)... but: What if my program has no real need to run in native 64 bit mode. Should I port it anyway? Are there any foreseeable deadlines for ending 32 bit support? Would my application run faster / better / more secure as native x64 code? x86-64 is a bit of a special case - for many architectures (eg. SPARC), compiling an application for 64 bit mode doesn't give it any benefit unless it can profitably use more than 4GB of memory. All it does is increase the size of the binary, which can actually

How can objdump emit intel syntax

自作多情 提交于 2019-11-29 21:14:11
How can I tell objdump to emit assembly in Intel Syntax rather than the default AT&T syntax? Daniel Kamil Kozar What you're looking for is -M intel . Use it as follows. objdump -M intel -d program_name If you want Intel mnemonic codes as well (instead of AT&T mnemonic codes), you can use: objdump -M intel intel-mnemonic -D <program's-object-file> 来源: https://stackoverflow.com/questions/10362630/how-can-objdump-emit-intel-syntax

Intel x86 vs x64 system call

≯℡__Kan透↙ 提交于 2019-11-29 20:11:52
I'm reading about the difference in assembly between x86 and x64. On x86, the system call number is placed in eax , then int 80h is executed to generate a software interrupt. But on x64, the system call number is placed in rax , then syscall is executed. I'm told that syscall is lighter and faster than generating a software interrupt. Why it is faster on x64 than x86, and can I make a system call on x64 using int 80h ? mikyra General part EDIT: Linux irrelevant parts removed While not totally wrong, narrowing down to int 0x80 and syscall oversimplifies the question as with sysenter there is at