🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309382

typ __m256 i rejestry procesora

#309382
From: Maciek
Date: Sun, 13 Aug 2017 16:19
33 lines
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-mail

Show 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