STM32 Cortex-M4 instruction set: SADD8

OP #4083015
Lesenswert?

Hallo zusammen,

ich habe gerade ein paar sehr interessante Befehle gefunden. Einer davon 
ist der SADD8 Befehl.
Den Auszug aus dem Datenblatt habe ich mal angehängt.
Meine Frage (ich kanns so schwer testen) ist ob der Befehl das tut, was 
ich denke?

Beispiel:
auszug aus der core_cm4_simd.h
1
/*------ CM4 SIMD Intrinsics -----------------------------------------------------*/
2
__attribute__( ( always_inline ) ) static __INLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
3
{
4
  uint32_t result; 
5
  __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
6
  return(result);
7
}
mainfile:
1
[...]
2
int main( void )
3
{
4
    uint32_t op1 = 0x0102F1FF;
5
    uint32_t op1 = 0x10200F11;
6
    uint32_t res = __SADD8( op1, op2 ); // = 0x11220010 ???
7
}
('Quick n' Dirty'-Fehler bitte überlesen, ich glaube man versteht was 
ich meine oder?)
Also in einem Befehl werden 4 mal je 2 Bytes addiert?

Oder verstehe ich das jetzt falsch?
Vielen Dank
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren