Sí, la syntaxis Intel es generalmente para x86. La AT&T tambien es generalmente para x86. Esta syntaxis se usa para correr programas sobre procesadores x86. Si quieres correr un programa en ARM tienes que hacer otra vez el codigo y adaptar la syntaxis a aquel procesador y a los registros, ya que cambian. Por ejemplo, para ARM la syntaxis se parece a ambas pero no es igual, es ligeramente diferente. Para Atmel (otra arquitectura) tambien cambia (te estoy hablando en ambos casos de GAS, el ensamblador por defecto de GNU GCC). Es lo que te digo, la syntaxis es solo un modo de representar el binario para que lo entendamos. El creador de cada ensamblador decide como lo representa. Yo puedo programar un ensamblador para ARM con syntaxis Intel (de hecho, los hay, pero se suele usar el de GNU GCC (GAS)). Si al fin y al cabo la syntaxis Intel y la AT&T llegan al mismo punto, únicamente que por caminos distintos. Unos quieren ir por encima del puente y otros por debajo pero llegan al mismo sitio.
En resumen, tu pregunta: Syntaxis Intel es para x86. Syntaxis AT&T tambien es para x86. Otras syntaxis, generalmente, otras arquitecturas, dependiendo del fabricante. Como GCC es opensource, son los fabricantes son los que pagan sus trabajadores para que desarrollen y implementen lo que quieren en GCC (un ensamblador para su arquitectura. Así se acercan al publico con herramientas gratuitas).
Un abrazo. Cualquier duda, postéala.
PD: No soy demasiado bueno explicando. Sorry