flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Main > Stack Realignment "Techniques"

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8
Author
Thread Post new topic Reply to topic
Furs



Joined: 04 Mar 2016
Posts: 759

system error wrote:
with your OWN calling convention

https://en.wikipedia.org/wiki/Callback_%28computer_programming%29
Post 06 Sep 2017, 11:16
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652
Now what's happening with you Furs. From a MOUTHFUL, BOASTFUL expert garbage, down to a single-line posts? Where's your BIG MOUTH now? Are you afraid of me?? hahahaha xD
Post 06 Sep 2017, 23:21
View user's profile Send private message Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 759
There's no way to say something better than I did to the pure decayed excrement you spew out which, clearly, is fully technobabble and makes absolutely zero sense.

While not the case, let's use the classic callback example in Windows: the message dispatcher callback.

Clearly, such callback must use MS ABI (you don't control its calling convention). It is your function (that's why it's a callback), but you have to use MS ABI in it because it's what Windows expects when calling your "callback function" (and that's a period).

So, what happens if you use AVX2 in the message dispatcher and use YMM6 register? Think about it hard.
Post 07 Sep 2017, 12:31
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652

Furs wrote:
So, what happens if you use AVX2 in the message dispatcher and use YMM6 register? Think about it hard.



Then it has nothing to do with MS ABI. Didn't mentioned it 15 times already? Its all about your own IMAGINARY LIBRARY and your own IMAGINARY CALLING CONVENTIONS that nobody uses. I don't give a horsefcuk about it and I am pretty sure nobody does either. Maybe you can train your dog to use it? HAHAHAHA XD

So where's the "expert" patch that you been BIG-MOUTHING ABOUT SINCE PAGE 1 to send to those BRILLIANT GCC developers? Why the sudden lost of "expertise"? Or perhaps it's all about maintaining your "Mr Fake Expert" impressions on this board and nothing more?
Post 07 Sep 2017, 19:02
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15096
Location: The Unicomplex

system error wrote:

Furs wrote:
So, what happens if you use AVX2 in the message dispatcher and use YMM6 register? Think about it hard.



Then it has nothing to do with MS ABI.

Callback function: The OS calls your function. You are required to follow the calling convention in use. You can't arbitrarily decide not to preserve the required registers or you will be sorry.
Post 07 Sep 2017, 19:07
View user's profile Send private message Visit poster's website Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652

revolution wrote:
.You are required to follow the calling convention in use.

No sh1t, captain! Since when the X64 ABI specifies any use of the YMM registers or AVX2 instructions? Why am I getting this funny feeling that you mistook the default X64 calling convention with vectorcall! OMG! hahaha xD
Post 07 Sep 2017, 20:00
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15096
Location: The Unicomplex
Furs already explained that the SSE registers are a subset of YMM, and the calling convention mandates that you preserve certain SSE registers. So you can't arbitrarily decide not to preserve the required registers or you will be sorry.
Post 07 Sep 2017, 20:24
View user's profile Send private message Visit poster's website Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652

revolution wrote:
Furs already explained that the SSE registers are a subset of YMM, and the calling convention mandates that you preserve certain SSE registers. So you can't arbitrarily decide not to preserve the required registers or you will be sorry.

No sh1t!! hahahaha xD

MS 64 calling convention is NOT vectorcall. vectorcall is NOT the standard MS64 calling convention!! Those two are referred by specific names! The fact that he keeps on mentioning MS 64 calling convention while referring to AVX instruction says a lot about his incompetency no matter HOW HARD YOU TRY TO HELP HIM!

Nice try!! You two are probably related or lovers or something but no. You can't help an already helpless person! It makes you look funny too! hahahaha xD
Post 07 Sep 2017, 21:32
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15096
Location: The Unicomplex
AVX instructions use the AVX registers. And, as already mentioned, AVX registers are a superset of the SSE registers. So when using AVX instructions we must take care to preserve the required SSE registers. So you can't arbitrarily decide not to preserve the required registers or you will be sorry. It's all interrelated, you can't escape that by making personal insults and unfounded accusations.
Post 07 Sep 2017, 21:37
View user's profile Send private message Visit poster's website Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652

revolution wrote:
AVX instructions use the AVX registers. And, as already mentioned, AVX registers are a superset of the SSE registers. So when using AVX instructions we must take care to preserve the required SSE registers. So you can't arbitrarily decide not to preserve the required registers or you will be sorry. It's all interrelated, you can't escape that by making personal insults and unfounded speculations.



"superset" is not the correct manufactures term. Better use the term "extension". It goes with the traditions --> EAX is an extension to AX. YMM is extended to ZMM. Using the term "superset" makes you look funnier than Furs' "opcode space"! xD

And no. When trolling, correctness is the least of my concern, especially against overconfident response-guaranteed targets. I intimidate, interrogate, undermine, question, influence and create confusions. It's entertaining and educating at the same time! hahahaha xD
Post 07 Sep 2017, 21:49
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 15096
Location: The Unicomplex

system error wrote:
"superset" is not the correct manufactures term. Better use the term "extension". It goes with the traditions --> EAX is an extension to AX. YMM is extended to ZMM. Using the term "superset" makes you look funnier than Furs' "opcode space"! xD

Okay, extension, thank you for the information. But I don't think extension is precise enough. Because it can also mean in addition to, rather than contains the original within it.

system error wrote:
And no. When trolling, correctness is the least of my concern, especially against overconfident response-guaranteed targets. I intimidate, interrogate, undermine, question, influence and create confusions. It's entertaining and educating at the same time! hahahaha xD

So you think it is a good idea to spread misinformation? That doesn't help the newbies in any way. I think in the future I should be less reluctant to remove your posts. If all you intend to do is waste everyone's time then there seems little of value that would be lost. Sad
Post 07 Sep 2017, 22:15
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 759

system error wrote:
MS 64 calling convention is NOT vectorcall.

And MS 64 calling convention wants XMM6-15 saved. Your point? If you use AVX YMM6 in any MS ABI function, including a callback, you have to save XMM6 or the OS will crash your application upon return from the function.

Callbacks aren't only in Windows obviously, but we can keep it at that for simplicity. (I know that if I started talking about implementing a DSP plugin relying on a callback protocol that uses MS ABI, you would start with random babbling, not like I haven't already mentioned it -- I mean, even libraries like FLAC rely on callbacks and they use MS ABI since it is *default* for this platform)

As for your patch question, I believe that was answered on page 4. You know, no matter how many times you ask something stupid it's not going to become an answer you want.
Post 07 Sep 2017, 22:29
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652
Edit by revolution: post has no informational value
Post 07 Sep 2017, 23:49
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652
Edit by revolution: More trolling
Post 08 Sep 2017, 00:08
View user's profile Send private message Reply with quote
system error



Joined: 01 Sep 2013
Posts: 652

revolution wrote:
Okay, extension, thank you for the information. But I don't think extension is precise enough. Because it can also mean in addition to, rather than contains the original within it.



"superset" What???

AVX stands for = Advanced Vector EXTENSION.

SSE stands for Streaming SIMD EXTENSION

See, if you love defending BIG MOUTH IDIOT, you'll eventually become one.

"SUPERSET", my foot!
Post 08 Sep 2017, 00:38
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.