Article View: pl.comp.lang.c
Article #309382typ __m256 i rejestry procesora
From: Maciek
Date: Sun, 13 Aug 2017 16:19
Date: Sun, 13 Aug 2017 16:19
33 lines
2503 bytes
2503 bytes
Hej!
Mam pytanie. W disasemblerze widzę, że typ __m256 operuje na rejestrach ymm, w związku z czym mam pytanie - które to jest rozszerzenie procesora ? xmmX to rejestry sse natomiast nie wiem które rozszerzenie operuje na rejestrach ymm, krótki przykład:
#include <iostream>
#include <future>
int main()
{
int a[4] = { 1, 2, 3, 4 }, b[4] = { 4, 3, 2, 1 }, result[4] = { 0, 0, 0, 0 };
__m256 *aa, *bb, *cc;
aa = (__m256*)a;
bb = (__m256*)b;
cc = (__m256*)result;
*cc = _mm256_add_ps(*aa, *bb);
std::cout << "RESULT: " << result[0] << ", " << result[1] << ", " << result[2] << ", " << result[3] << std::endl;
return 0;
}
W oknie disasemblera mam:
003F24B0 mov eax,dword ptr [bb]
003F24B3 mov ecx,dword ptr [aa]
003F24B6 vmovups ymm0,ymmword ptr [ecx]
003F24BA vaddps ymm0,ymm0,ymmword ptr [eax]
003F24BE vmovups ymmword ptr [ebp-160h],ymm0
003F24C6 mov edx,dword ptr [cc]
003F24C9 vmovups ymm0,ymmword ptr [ebp-160h]
003F24D1 vmovups ymmword ptr [edx],ymm0
Pozdrawiam, i dzięki za odpowiedź ewentualnie wskazówki.
PS. Czy to rozszerzenie jest na różnych architekturach ??
Technical Details
Message-ID:
<9b2cc5d1-3ecf-4e2f-8690-55c360e19233@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m34no806242iti.0!news-out.google.com!i9ni485qte.0!nntp.google.com!s6no1151881qtc.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 10.99.61.205 with SMTP id k196mr14671270pga.105.1502641149606; Sun, 13 Aug 2017 09:19:09 -0700 (PDT) X-Received: by 10.31.162.84 with SMTP id l81mr126697vke.15.1502641149532; Sun, 13 Aug 2017 09:19:09 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m34no806242iti.0!news-out.google.com!i9ni485qte.0!nntp.google.com!s6no1151881qtc.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Sun, 13 Aug 2017 09:19:09 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.43.89.185; posting-account=SOZBVwoAAAAtP6gAgjkK3BR3YPR_ux-s NNTP-Posting-Host: 178.43.89.185 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9b2cc5d1-3ecf-4e2f-8690-55c360e19233@googlegroups.com> Subject: typ __m256 i rejestry procesora From: Maciek <moblaza@gmail.com> Injection-Date: Sun, 13 Aug 2017 16:19:09 +0000 Lines: 37 X-Received-Body-CRC: 2989134310 X-Received-Bytes: 2486 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit