TriCore bugfixes

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCgAGBQJVGTZCAAoJEArSxjlracoUUqwQAM5kEsNYhd3T+jRhr8+/blPX
 yr5YW1VXgZuzLtflr4Y0SD4XQfn7FNFIrMYrGL8dUo/pUgEFObWwNJuwy/b4yyP6
 jqcmeswzYMuJ+hgr6EFWhpOVu4N9q0gtJBZpis9c4mT//TaUOzzMIQrrLAmo0vMy
 KlbCaTbGZYhxdB0zmMcRekKpTn15asiNqCjJ4Jk6ut9URHq9VK7rQF4jC4/8yxhc
 9y0xDHBgfUChtq7mSLc8NgD9AohQ+oRZk1z/n33bfXetFh0vLHaFPwG4xbZTqheh
 ZZY0EQxWc7o9sAT4raOjmxkrnjPzBd8tbDyx5Eyzd724mHshQ60VHETqP95r9TMl
 B4QNL1NOImpTpqFg4Wb1njcpqVAWmlvNxeFjyym4LxjOHeqLrfsuP3xW7bOfuja/
 naZzdxP0VqTBMfpEFUqGTkjKOSo40oqZW8usWiY1bGZqUnfWMV2Jyj6tZDaKe41n
 SGWXESwVviFYli9SyXO0sUsOHgG6Vf0cgZV9fKldIuGcl/NGpLfuX8wecylLSOzL
 vbd2NpQWREdozWd8hBq7zHW2LAjoKCp+lKnjl7d+hb2AZtlUrrC+YX5sYoA9R3/P
 gvdr05//Q5TaO8eSZ0WXIV3a6xboNRdoWb2v58sVJ8nKYonZv3B8PxFk3ZoqGG6l
 v/KI9h0XNIk9uO/uwj/j
 =6j+6
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/bkoppelmann/tags/pull-tricore-20150330' into staging

TriCore bugfixes

# gpg: Signature made Mon Mar 30 12:40:50 2015 BST using RSA key ID 6B69CA14
# gpg: Good signature from "Bastian Koppelmann <kbastian@mail.uni-paderborn.de>"

* remotes/bkoppelmann/tags/pull-tricore-20150330:
  target-tricore: fix CACHEA/I_POSTINC/PREINC using data register..

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2015-03-31 09:56:48 +01:00
commit adbeb458ee

View File

@ -4509,14 +4509,14 @@ static void decode_bo_addrmode_post_pre_base(CPUTriCoreState *env,
case OPC2_32_BO_CACHEA_I_POSTINC:
/* instruction to access the cache, but we still need to handle
the addressing mode */
tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);
tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);
break;
case OPC2_32_BO_CACHEA_WI_PREINC:
case OPC2_32_BO_CACHEA_W_PREINC:
case OPC2_32_BO_CACHEA_I_PREINC:
/* instruction to access the cache, but we still need to handle
the addressing mode */
tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);
tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);
break;
case OPC2_32_BO_CACHEI_WI_SHORTOFF:
case OPC2_32_BO_CACHEI_W_SHORTOFF:
@ -4526,13 +4526,13 @@ static void decode_bo_addrmode_post_pre_base(CPUTriCoreState *env,
case OPC2_32_BO_CACHEI_W_POSTINC:
case OPC2_32_BO_CACHEI_WI_POSTINC:
if (tricore_feature(env, TRICORE_FEATURE_131)) {
tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);
tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);
} /* TODO: else raise illegal opcode trap */
break;
case OPC2_32_BO_CACHEI_W_PREINC:
case OPC2_32_BO_CACHEI_WI_PREINC:
if (tricore_feature(env, TRICORE_FEATURE_131)) {
tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);
tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);
} /* TODO: else raise illegal opcode trap */
break;
case OPC2_32_BO_ST_A_SHORTOFF: