Jump to content
Jagware
Sign in to follow this  
Orion_

The Answer Why There Is No Shalq In Gpu Instruction Set

Recommended Posts

Orion_    1

I had a problem with negative value using some gpu code, and I came to the conclusion that one of my routine didn't work, actually this was the GT Turbo's routine (not surprised ? ^^)

we complained about the missing shalq instruction in gpu instruction set, we have sharq, but not shalq, so why ?

because we simply don't need it ...

let's see, here is the GT Turbo's routine for SHALQ:

MACRO    SHALQ    a,b    ; by GT_Turbo
    shlq    \a,\b
    jr    NC,.pasign\~
    nop
    neg    \b
.pasign\~:
    ENDM

 

what shalq does ? it will shift the register to left, so let's take 2 numbers:

(decimal) 25 -> (binary) 00000000000000000000000000011001

(decimal) -25 -> (binary) 11111111111111111111111111100111

 

if you shift both of the binary number of 1 to left, you have:

00000000000000000000000000110010 -> 50

11111111111111111111111111001110 -> -50

 

and this can be achieved using a simple shlq, that's why we don't need shalq :)

but we do need sharq, because if you shift using a simple shrq a zero will be introduced in bit 31 of the number and it will screw up the negative value.

so correct me If I'm wrong, but I replaced all the SHALQ of my routine by shlq and the bug was gone !

Share this post


Link to post
Share on other sites
SCPCD    0

<_<

 

Strange...

I don't know why GT have made and used this function because this things as already said somewhere on jagware that a simple shlq is the same as shalq... :P

 

EDIT : Link

Share this post


Link to post
Share on other sites
GT Turbo    3

A little problem Orion, it's not mine, because i don't use macro, i think that come from Macronator (SebRmv) no ?

 

GT :)

Share this post


Link to post
Share on other sites
Orion_    1

SCPCD > oops sorry, I didn't looked the end of this topic, so this one is useless I'm sorry ^^

 

 

GT Turbo > yes that's me who converted it to macro ^^

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×