I forgot to add that these instruction never actually get executed, no 
exclusive-OR or subtraction is done.  Instead the instruction decoder 
recognizes these cases and during register renaming which is part of 
out-of-order execution, they map the target register to one that has a constant 
value of 0 in it. It doesn't even take up an execution slot in the pipeline.  
Any subsequent instructions that depend on the 0 value will be able to execute 
without having to wait for the computation to be done.

Reply via email to